Skip to content

6.7.4.3 Legacy Numeric Formats ​

N 和 Z 数值格式用于与旧版文件格式兼容。它们有许多共同点:

  • 输出四舍五入到最接近的可表示值,平局时远离零方向舍入。
  • 过大而无法显示的数字输出为用星号(‘*’)填满的字段。
  • 小数点始终隐式位于字段右边缘起指定数位的位置,但 Z 格式的输入允许显式小数点。
  • 不可使用科学计数法。
  • 系统缺失值输出为空格字段中的一个句点。在 Z 格式中,该句点位于隐式小数点的紧右侧;在 N 格式中,或在未要求小数位的 Z 格式中,则位于右端。即使小数点字符为逗号,也使用句点。
  • 字段宽度范围可为 1 到 40。小数位数范围可为 0 到字段宽度,最大为 16。
  • 当用于输入的旧版数值格式转换为输出格式时,它被更改为等价的 F 格式。如果指定了任意小数位,则字段宽度增加 1,以腾出小数点的位置。对于 Z 格式,字段宽度再增加 1 列,以腾出负号的位置。输出字段宽度上限为 40 列。

N Format ​

N 格式支持仅包含数字的字段的输入和输出。在输入时,前导或尾随空格、小数点或任何其他非数字字符都会导致该字段被读取为系统缺失值。作为一个特殊例外,在 DATA LIST FREE 或 DATA LIST LIST 上使用的 N 格式被视为等价的 F 格式。

在输出时,N 在字段左侧用零填充。负数像系统缺失值一样输出。

Z Format ​

Z 格式是 IBM 大型机上使用的“区位十进制”格式。Z 格式将符号编码为最后一位数字的一部分,该数字必须是下列之一:

0123456789
{ABCDEFGHI
}JKLMNOPQR

其中每一行的字符依次表示数字 0 到 9。前两行的字符表示正号;第三行的字符表示负号。

在输出时,Z 字段在左侧用空格填充。在输入时,前导和尾随空格被忽略。输入字段中除空格、上述数字字符以及‘.’之外的任何字符都会导致该字段被读取为系统缺失值。

输入和输出的小数点字符始终为‘.’,即使小数点字符为逗号(参见 SET DECIMAL)。

以 Z 格式输出的非零负值即使未输出任何非零数字也标记为负数。例如,-0.2 在 Z1.0 格式中输出为‘J’。大多数机器支持的“负零”值输出为正数。

基于 GNU PSPP 2.0.1 手册与入门教程整理