使用int函数舍入到最低有效数字

时间:2011-08-15 01:39:31

标签: function math rounding

我的编程语言没有舍入功能。我想取一个浮点运算的结果,找到最低有效数字并根据它进行舍入。到目前为止我在互联网上发现的功能只是添加.5,这看起来非常不准确。

  1. 如何找到最低有效数字?
  2. 一旦我有了这个数字,我需要确定它是否是> 5或小于5.
  3. 如果它大于或等于5,那么我需要检查下一个数字并且如果它大于5则递增它,直到我到达小数点并对数字使用相同的确定(但作为整数,所以如果它是65.444445那么它应该是66我认为)在小数点右边。至少这是有道理的,但也许我过于复杂了?

1 个答案:

答案 0 :(得分:2)

首先: 您和手头的问题决定有多少有效数字。 最低有效数字只是最后一位数字。

第二:由于您知道如何舍入到最近的整数,因此您可以通过将数字乘以10的幂来舍入到任何有效数字,并且乘以10后的逆幂。

例如,如果您确定应该有4位有效数字,则最低有效数字是第四位数。

数字1234567890(10位数)可以通过以下方式四舍五入到该位:

  • 乘以10 ^ -6,得出1234.567890
  • 做你发现的整数轮,给出1235
  • 乘以10 ^ 6,得到1235000000。

第三:你过度复杂了。 65.444445接近 65 66 。它小于65.5,即65到66之间的中点。