SAS美元格式损失0美分

SAS美元格式损失0美分,sas,Sas,我的雇主最近从基本SAS切换到SAS企业指南7.12版。我有过去运行过的代码,没有问题,但现在同样的代码在用零美分格式化美元金额时遇到问题。我使用的是dollar20.2格式。如果我正在处理的数据有0美分,它会将小数点放在错误的位置 例如,117650美元变成了1176.50美元,而不是117650.00美元。看起来您混淆了信息和格式。信息告诉SAS如何将文本字符串转换为值,格式告诉SAS如何将值转换为文本字符串。如果您有一个数字并使用DOLLAR20.2格式,它将以两位小数显示数据。但是,如果

我的雇主最近从基本SAS切换到SAS企业指南7.12版。我有过去运行过的代码,没有问题,但现在同样的代码在用零美分格式化美元金额时遇到问题。我使用的是dollar20.2格式。如果我正在处理的数据有0美分,它会将小数点放在错误的位置


例如,117650美元变成了1176.50美元,而不是117650.00美元。看起来您混淆了信息和格式。信息告诉SAS如何将文本字符串转换为值,格式告诉SAS如何将值转换为文本字符串。如果您有一个数字并使用
DOLLAR20.2
格式,它将以两位小数显示数据。但是,如果您使用
DOLLAR20.2
informat读取数据,则您告诉SAS,当该文本字符串没有小数点时,则假定在最后两位之前暗示有小数点。基本上它把这个值除以100。一般来说,在你的信息中指定小数点位置是一个坏主意,除非你确定你希望SAS在没有小数点的情况下提供小数点


您可能希望使用
DOLLAR20.
(或等效的
COMMA20.
)作为您的信息量。

看起来好像应用了20.2的信息量-0.2告诉SAS必须有两个小数位。