楼主: goodtolong
9449 5

[问答] 请问一下sas保留小数位数是按照什么原则的? [推广有奖]

  • 1关注
  • 0粉丝

已卖:1份资源

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
113 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
722 点
帖子
18
精华
0
在线时间
82 小时
注册时间
2018-5-16
最后登录
2021-5-21

楼主
goodtolong 发表于 2018-7-6 14:52:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
四舍六入五成双吗?但是刚刚发现对8.175,sas保留两位是8.17呀。
二维码

扫码加我 拉你入群

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

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

关键词:sas

沙发
vegeta99 发表于 2018-7-7 10:00:58 来自手机
你可以自己设置啊。用round函数,比如x=round(8.175,.001)

藤椅
goodtolong 发表于 2018-7-9 14:57:10
vegeta99 发表于 2018-7-7 10:00
你可以自己设置啊。用round函数,比如x=round(8.175,.001)
这就奇怪了,用round函数是8.18,用maxdec=2是8.17。

板凳
wwang111 发表于 2018-7-9 15:18:40
这里要看最原始的数是多少;
比如8.17482543, proc means maxdec=2的结果直接会四舍五入保留两位小数,就是8.17;
如果先round保留了三位小数,就是8.175,然后再四舍五入保留两位小数就是8.18.
可以把你的程序贴出来看一下

报纸
goodtolong 发表于 2018-7-10 11:40:21
wwang111 发表于 2018-7-9 15:18
这里要看最原始的数是多少;
比如8.17482543, proc means maxdec=2的结果直接会四舍五入保留两位小数,就是8 ...
哦哦,对对,可能是这个原因!我都没想到,谢谢你啦!

地板
superguy333 发表于 2021-2-12 23:17:48
X1.JPG
  1. data x1;
  2. input var1 $6. var2 $8.;
  3. cards;
  4. 13.15   26.156
  5. 2.16    <6.156
  6. 15.485  64.185
  7. <3.165  <6.15
  8. ;run;

  9. data x2;
  10. set x1;
  11. if SUBSTR(VAR1,1,1)= '<' THEN var1='<'||INPUT(ROUND(substr(var1,2,LENGTH(VAR1))/2.0,0.001),$15.) ;
  12. if SUBSTR(VAR2,1,1)= '<' THEN var2='<'||INPUT(ROUND(substr(var2,2,LENGTH(VAR2))/2.0,0.001),$15.) ;               
  13. run;
复制代码

X2.JPG

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-17 13:41