首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么comma9.2不能工作?

为什么comma9.2不能工作?
EN

Stack Overflow用户
提问于 2015-03-19 00:28:42
回答 2查看 433关注 0票数 0

谁能告诉我为什么comma9.2在我的SAS码中不能工作?

代码语言:javascript
复制
data have;
input x $16.;
y = input(x, comma9.2);
z = input(x, comma9.);
put x= y= z= ;
cards;
1,740.32
5200
520
52
7,425
9,000.00
36,000.00
;
run;
EN

回答 2

Stack Overflow用户

发布于 2015-03-19 03:28:07

在Reeza的回答上进行扩展:

Informat小数位并不像格式小数位那样工作。在几乎所有情况下,您都不想或不需要在信息格式中指定dComma9.几乎总是正确的,无论您期望多少位小数-即使您希望总是两位小数。

只有当你有一个像12345600这样的数字,它没有小数,但它应该有小数(最后两个零在小数之后)时,才能使用informat小数位。

代码语言:javascript
复制
data _null_;
  input numval 8.2;
  put numval=;
  datalines;
12345600
12345605
99999989
1857.145
;;;;
run;

这在穿孔卡片时代是很常见的,特别是对于会计;因为一切都是以美元和美分为单位的,你可以省略小数点来节省一列,只需读入两个小数即可。它在大多数领域中不再常见(至少在我的经验中是这样),但SAS总是向后兼容。

如果在数据中遇到小数点,SAS将忽略.d规范(然后将使用该小数的位置来正确读入值),但是如果数据中没有小数点,如果您指定.d,则它可能会错误地读入该值。请注意,在我的示例中,最后一行有一个小数点,后跟三个小数位,并且读入正确。

你可以阅读SAS Documentation了解更多信息。

票数 2
EN

Stack Overflow用户

发布于 2015-03-19 00:42:59

Comma9.2假设值总是有两个小数位。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29127478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档