全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1204 5
2021-01-13
请教大神,以下程序:
data a;
  informat x 8.2;
  x=12345.1234;
  put x=;
run;
proc print data=a;
run;
结果在log窗口中显示为x=12345.1234,而在output窗口中显示为12345.12,这里没有对输出格式做出规定,为啥两个地方的输出不一样呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-1-14 22:39:09
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-15 04:33:32
12345.1234 是x 的真实值,所以put x=结果是12345.1234 。 而data a 里x 有informat(保留俩位数)限制, 所以print data就显示12345.12。想在log显示为x=12345.12, 需要稍加改动:
put "x=" x 8.2;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-17 20:27:39
乐天天12300 发表于 2021-1-14 22:39
非常感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-17 20:28:24
xiaopingN 发表于 2021-1-15 04:33
12345.1234 是x 的真实值,所以put x=结果是12345.1234 。 而data a 里x 有informat(保留俩位数)限制, 所 ...
非常感谢回复但是我还有点疑问:  我在data步中未使用format设置输出格式,从数据集中我看到x的format是best12.  所以它使用print过程的使用不应该是按照best12.的格式输出,值可以覆盖12345.1234的长度吗?为什么会受到informat的限制呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-1-22 03:07:45
huangtiancheng 发表于 2021-1-17 20:28
非常感谢回复但是我还有点疑问:  我在data步中未使用format设置输出格式,从数据集中我看到x的for ...
简而言之, informat 是对输入数据进行格式化输入,所以可以改变原始数据。format是用特定格式显示数据,data 中的数据没有变化。因为使用了informat(保留俩位小数),x 在data a 中 的真实值是12345.12。无论怎么format 12345.12, 也不会出现12345.1234
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群