楼主: 孤灯渡漠
3843 13

[问答] 为何相等的变量在if判断里却不等!!数据程序已贴上 [推广有奖]

11
孤灯渡漠 发表于 2013-6-20 13:46:39
难道是我真的太高估sas了,难道只要是程序,都要用浮点比大小的方法吗

12
playmore 发表于 2013-6-20 14:36:05
孤灯渡漠 发表于 2013-6-20 13:46
难道是我真的太高估sas了,难道只要是程序,都要用浮点比大小的方法吗
应该就是在机器中用反码或补码表示浮点数,会发生溢出的问题
精度总是有极限的,只能无限接近,不能完全准确
如果你判断的等式两边的数,都是从一样的初始值进行一样的计算,那是肯定相同的
但如果不是,两边可能会有不同的值,比如0.999999999和1
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
zhou.wen + 1 good post
Imasasor + 100 + 100 + 4 + 2 + 3 观点有启发, i strongly agree with u

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 2  信用等级 + 3   查看全部评分

playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

13
孤灯渡漠 发表于 2013-6-21 08:55:45
playmore 发表于 2013-6-20 14:36
应该就是在机器中用反码或补码表示浮点数,会发生溢出的问题
精度总是有极限的,只能无限接近,不能完全 ...
这个浮点数编码我是知道的
但是sas既然能够做到自动类型,与之相配套当然也要实现自动精度了
只有自动类型,却没有与之相符的精度,那有什么意义??
看上去都是best12,但我编程的时候仍然要自己区分哪个变量是整型,哪个变量是浮点,运用不同的处理方式, 那这个best12还有什么意义??那不成了摆设,只能看不中用,还容易造成误导

14
feifeichen 发表于 2013-6-21 13:10:04
把它们都用round()函数取到实际上的1位小数

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 07:20