用round公式保留两位小数后为什么求和后8位小数
问题已解决
所属话题:
#实务#
84784971 | 提问时间:2023 01/17 19:58
Round公式用于保留指定位数的小数,它有一个自带函数round(x,n),参数x为待舍入的数,参数n为保留的小数位数。当参数n=2时,round(x,n)可以保留指定精度的小数,但是由于浮点数的原因,在求和的时候,有时会出现精度不够的情况,从而导致求和的结果超过了预期的多余2位小数。
举个例子,将三个小数0.123,0.456,0.789舍入到2位小数:
round(0.123,2)的结果为0.12
round(0.456,2)的结果为0.46
round(0.789,2)的结果为0.79
按照精确到2位小数的要求,三个数求和后,结果应为1.37;但是,如果对此数进行浮点数运算,则会出现精度不够的情况,从而得到1.370000000000001。
因此,当使用round公式保留两位小数后求和时,有时会得到8位小数。
拓展知识:
浮点数在计算机中是以二进制表示的,而不是以十进制表示,因此在某些情况下,它无法精确表示某些数字,这就导致了计算精度的损失,从而导致求和的结果超过了预期的多余2位小数。
2023 01/17 20:08
相关问答
查看更多最新问答
查看更多