将数字更改为字符串时保持数字格式

时间:2017-03-27 16:31:07

标签: spss

我偶尔需要将数字更改为字符串,同时保持一个不错的数字格式(例如,为了将它们放入通过语法构建的句子中)。 保持小数部分格式很容易,例如:

string MyTextN (a10).
compute MyTextN=string(MyNumericN, f10.2).

所以 12345.6789 这样的数字会保存为此文字:" 12345.68" 即可。 我缺少的是1000的分隔符。我希望文字是:" 12,345.68" 即可。 现在我正在做一些文本操作来获得这个(通常是循环数字并在第四和第七个之前插入逗号), 但是我想知道是否有我不知道的内置功能,或者是否有人能提出捷径? 谢谢!

1 个答案:

答案 0 :(得分:2)

不幸的是,转换系统和后端通常不知道数字分组设置,因此字符串函数忽略它(这可能是你大多数时候想要的)。

您可以使用Python,例如

'{:,}'.format(123456789)  

'123,456,789'

SPSSINC TRANS命令可用于执行此操作,但可能有点过分。

这是一个例子,其中x是要转换为字符串的变量。

begin program.  
def strWSeparators(x):
    if x is not None:  
        return '{:,}'.format(x)
    else:
        return None
end program.

spssinc trans result=y type=15
/formula "strWSeparators(x)".

结果是一个15字节的字符串变量y,