楼主: ciciwanghk
8297 8

[原创博文] 计算出的结果怎样保留6位小数 [推广有奖]

  • 0关注
  • 0粉丝

博士生

13%

还不是VIP/贵宾

-

威望
0
论坛币
75 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2914 点
帖子
97
精华
0
在线时间
289 小时
注册时间
2009-7-15
最后登录
2022-4-30

楼主
ciciwanghk 发表于 2011-2-16 14:26:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. data a;
  2. input a b ;
  3. c=a*b;
  4. cards;
  5. .57573573 1.56245645665
  6. .645642626 1.656265646635
  7. ;
  8. run;
复制代码


我想让a,b保留四位小数,c保留6位小数。这个格式就是他们的内部格式
二维码

扫码加我 拉你入群

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

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

关键词:cards Input card Data RDS

沙发
baoaibaobao 发表于 2011-2-16 15:17:49
  1. data a;
  2. input a  b;
  3. c=a*b;
  4. format a 6.4 b 6.4 c 8.6;
  5. cards;
  6. .57573573 1.56245645665
  7. .645642626 1.656265646635
  8. ;
  9. run;
复制代码

藤椅
elek.me 发表于 2011-2-16 15:48:03
baoaibaobao 发表于 2011-2-16 15:17
  1. data a;
  2. input a  b;
  3. c=a*b;
  4. format a 6.4 b 6.4 c 8.6;
  5. cards;
  6. .57573573 1.56245645665
  7. .645642626 1.656265646635
  8. ;
  9. run;
复制代码
用round 函数吧。 format只是定义输出格式而已。
已有 1 人评分学术水平 收起 理由
peijiamei + 1 好的意见建议

总评分: 学术水平 + 1   查看全部评分

我的博客: http://elek.me/sas
联系我: http://about.me/elek

板凳
baoaibaobao 发表于 2011-2-16 18:22:32
3# elek.me 发现一个问题:我运行下面的代码
  1. data a;
  2. input a  b;
  3. c=a*b;
  4. a=round(a,0.0001);
  5. b=round(b,0.0001);
  6. c=round(c,0.000001);
  7. cards;
  8. .57573573 1.56245645665
  9. .645642626 1.656265646635
  10. ;
  11. run;
  12. proc print data=a;
  13. run;
复制代码

发现变量c在数据集中显示6位小数,但print之后却只有5位,求解?

报纸
情迷仲夏夜 发表于 2011-2-17 09:51:22
用format可以解决用print打印出6位的格式问题!但round会改变原来数值,使之不够精确了!

地板
myzhang1982 在职认证  发表于 2011-2-17 10:01:29
"Format" is used for the output
"Round" is used for the data saved in the dataset

7
Actree 发表于 2011-2-24 10:54:06
baoaibaobao 发表于 2011-2-16 18:22
3# elek.me 发现一个问题:我运行下面的代码
  1. data a;
  2. input a  b;
  3. c=a*b;
  4. a=round(a,0.0001);
  5. b=round(b,0.0001);
  6. c=round(c,0.000001);
  7. cards;
  8. .57573573 1.56245645665
  9. .645642626 1.656265646635
  10. ;
  11. run;
  12. proc print data=a;
  13. run;
复制代码
发现变量c在数据集中显示6位小数,但print之后却只有5位,求解?
还没有人回答为什么只有5位数?

8
Actree 发表于 2011-2-27 16:04:07
我想这个问题的难度跟版主赏100,000个论坛币的那三个问题差不多, 甚至难到sas 9.2可能根本无法解决这个问题.
Actree 发表于 2011-2-24 10:54
baoaibaobao 发表于 2011-2-16 18:22
3# elek.me 发现一个问题:我运行下面的代码
  1. data a;
  2. input a  b;
  3. c=a*b;
  4. a=round(a,0.0001);
  5. b=round(b,0.0001);
  6. c=round(c,0.000001);
  7. cards;
  8. .57573573 1.56245645665
  9. .645642626 1.656265646635
  10. ;
  11. run;
  12. proc print data=a;
  13. run;
复制代码
发现变量c在数据集中显示6位小数,但print之后却只有5位,求解?
还没有人回答为什么只有5位数?

9
Actree 发表于 2011-2-27 16:07:12
这就是版主赏140,000论坛币的帖子, 至今论坛无人能回答: (我帮着顶一下)
http://www.pinggu.org/bbs/thread-1008625-1-1.html

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 22:22