全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2187 6
2017-02-17
我现在出的数据要求保留三位小数我用round函数 或者直接put都能实现
a=round(b,0.001)
or
a=put(b,8.3)

就是0.9998这样的数字直接保留成了1.000
而我现在希望0.9998这样的数字显示为>0.999,应该怎么做?

二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-17 09:54:48
a=round(b,0.001) 出来的变量a是数值型的,不能显示为>0.999,除非你用format,1=‘>0.999’;
a=put(b,8.3) 出来的是变量a是字符型的‘   1.000’,要显示为‘>0.999’ 可以这样 if b >0.999 then a='>0.999';
二维码

扫码加我 拉你入群

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

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

2017-2-17 10:45:52
lovexialulu 发表于 2017-2-17 09:54
a=round(b,0.001) 出来的变量a是数值型的,不能显示为>0.999,除非你用format,1=‘>0.999’;
a=put(b,8.3) ...
好的谢谢,你说的第二种方法,Log里面会出现你将字符型变量转化成了数值型变量,我们不允许出现这样的NOTE,所以只能是 if b='1.000' then a='0.999';我就是想问有没有直接在之前保留小数时就把0.9998保留成>0.999
二维码

扫码加我 拉你入群

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

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

2017-2-17 11:12:23
hongyuejia 发表于 2017-2-17 10:45
好的谢谢,你说的第二种方法,Log里面会出现你将字符型变量转化成了数值型变量,我们不允许出现这样的NOT ...
你原始变量是字符型的 b=‘0.9998’的话, 先转化为数值型的 b_=input(b,best.); 再用 if b_ gt 0.999 then a='>0.999';
二维码

扫码加我 拉你入群

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

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

2017-2-17 12:10:59
lovexialulu 发表于 2017-2-17 11:12
你原始变量是字符型的 b=‘0.9998’的话, 先转化为数值型的 b_=input(b,best.); 再用 if b_ gt 0.999 th ...
好的,受用  谢谢啦  
二维码

扫码加我 拉你入群

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

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

2017-2-18 00:59:56
为什么要多此一举产生 b_=input(b,best.);  B 本身就是数字型的--》  a=round(b,0.001)
楼主可以在round之前写:if 0.999 <b<= 0.9998 then a='>0.999';
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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