【发布时间】:2021-07-29 07:00:16
【问题描述】:
我不敢相信我以前从未遇到过这个问题(我也找不到其他有同样问题的人)但今天我刚刚发现 SAS 有时会出现简单的计算错误!?!我注意到我的一条记录没有根据值
如果我将计算更改为 10 - 6.4,我会得到正确的值 3.6000,但由于某种原因,这个值是错误的。我的安装中可能有一些错误的疯狂设置吗?我尝试了 SAS EG 和 Base SAS,两者都有同样的问题。我感觉我快疯了!任何帮助表示赞赏。
谢谢。
【问题讨论】:
-
您的发现是与数值的双精度表示相关的不幸但意料之中的情况。双精度可以达到小数点后 15 位或 16 位的精度。主题已在此处和许多其他场所进行了讨论。其他语言有其他表示形式,例如 BigDecimal 类,可以改善使用双精度时出现的一些“不精确”算术情况。最后,试试 SAS
ROUND函数,它在很多情况下都可以提供帮助。 -
嗨 - 以后你能不能记住把代码和输出不是图片,而是文本?谢谢!
-
啊,是的,每个程序员都会遇到的那一刻!对此现象的最佳解释之一是 Tom Scott:youtube.com/watch?v=PZRI1IfStY0
-
谢谢,那个视频很有趣,很高兴知道!感谢大家的帮助,对图片感到抱歉
标签: sas