提取数字的某些数字

Extracting some of the digits of a number

我正在尝试使用我拥有的数字变量的前四位计算一个新变量。

首先,我将现有的数字变量更改为字符串,然后在语法编辑器中使用以下代码:

COMPUTE New_Varible = NUMBER(SUBSTR(Student_ID,1,2),f4) .
EXECUTE .

当我 运行 第一行代码时,它进入转换挂起模式,并创建一个带有缺失值(点)的数字比例变量。但是当我 运行 执行时,新的比例变量突然变为标称值,没有显示任何值。我也用 'CHAR.SUBSTR' 命令尝试过,但无济于事。

P.S。 我在 Windows 10.

上使用 SPSS 26 版 64 位

我假设您的问题是在您将数字变量更改为字符串时开始的。如果字符串比数字宽,则字符串中数字左侧可能有一些额外的空格。所以你的命令是读取空格而不是数字,然后无法将它们转换为数字。

这个更正后的命令应该可以解决问题,使用 ltrim 在读取数字之前删除多余的空格(另请注意,您使用原始命令只读取了两个字符 - 此处更正为四个字符):

COMPUTE New_Varible = NUMBER(CHAR.SUBSTR(ltrim(Student_ID),1,4),f4) .
EXECUTE .