全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
52171 14
2011-01-11
悬赏 20 个论坛币 未解决
假设var1是一个数值变量,比如0.1,0.11,0.111,0.1111,0.11111,-0.1,-0.11,-0.111,-0.1111,-0.11111
那么y=put(var1,3.0)是不是把var1先四舍五入成一个整数,然后再转化成字符变量输出?
为什么?有没有这方面的资料,谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2011-1-11 22:36:26
按你说的试了一下,y输出的都是缺失值
二维码

扫码加我 拉你入群

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

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

2011-1-11 23:10:13
复制代码
貌似确实是先四舍五入,再按3.0输出字符啊!楼主的意思是要?
二维码

扫码加我 拉你入群

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

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

2011-1-12 08:59:08
put 函数其实只是定义或者改变变量的输出格式。
二维码

扫码加我 拉你入群

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

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

2011-1-13 10:45:53
y=put(source, format.)函数的作用是把变量source以format的形式存到y中,source本身不变。format的格式和输入格式相同。对数字来说是w.d, w表示数字允许的最大位数,包括小数点,负号,科学计数法中的逗号或者$符号;d表示小数点后的位数。如果是字符,输入符号是$w.,别忘了后面的“.”

例如对于你例子中的-0.1111,如果format是3.0,那么最多取3位,也就是-0.  所以结果是-0   如果format是5.2那么结果就是-0.11
另外如果var1是一个字符串,如'an example',那么format就要写成$w.的形式,如果是$4.那么输出结果就是'an e'


可以参考SAS自带的帮助文档 put function
二维码

扫码加我 拉你入群

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

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

2011-1-13 16:44:20
5# junuylia 正好我也有这方面的疑问 谢谢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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