在jquery中用float或整数除以整数

时间:2013-06-17 19:13:09

标签: jquery html decimal division integer-division

我将一个数字(可能是XX.XX的数量格式)除以整数。

但是当我做6.6 / 6或3.3 / 3时,它给出1.099999 ......而不是1.1。

我正在做的是,我正在将人数平均分配给人数,如果存在剩余金额,我将额外的金额添加到其中一个人中。

可能是这种类型,104/6将被分为17.85,17.83,17.83,17.83,17.83,17.83 [可能不准确,只是为了说明]。

JS Bin链接----> http://jsbin.com/amileg/1/edit

请帮助我获得正确的计算逻辑。

谢谢!

2 个答案:

答案 0 :(得分:1)

这是浮点运算,那些是舍入误差。您可以阅读this了解更多信息。

  

将无限多个实数压缩成有限数量的位需要近似表示。尽管存在无限多个整数,但在大多数程序中,整数计算的结果可以以32位存储。相反,给定任何固定数量的位,大多数具有实数的计算将产生无法使用那么多位精确表示的量。因此,浮点计算的结果通常必须舍入,以便适应其有限表示。这种舍入误差是浮点计算的特征。

JavaScript中的所有数字都以二进制形式表示为IEEE-754 Doubles,可提供大约14或15位有效数字的精确度。它们并不总是完全代表实数,包括分数。

答案 1 :(得分:0)

您可以使用.toFixed()

var res = (vall / tot).toFixed(2);
//input `6.6/6`: , output : `1.10`

演示----> http://jsbin.com/amileg/4/edit