浮子/整数通过在一个jquery的整数除法的[复制](Division of a float/int

2019-10-18 06:40发布

这个问题已经在这里有一个答案:

  • 是浮点运算坏了吗? 30个回答

我被一个整数分割的数(可以是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斌链接----> http://jsbin.com/amileg/1/edit

请帮我在得到正确的计算逻辑。

谢谢!!

Answer 1:

这是浮点运算和那些被舍入误差。 你可以阅读这更多。

挤压无穷多个实数为有限位数需要一个近似表示。 虽然有无限多的整数,在大多数程序整数计算的结果可被存储在32位。 相比之下,给定任意固定位数,大多数计算实数会产生一种不能使用,很多位准确表示数量。 因此浮点计算的结果常常必须以适应回其有限表示进行四舍五入。 此舍入误差是浮点计算的特征。

在JavaScript中的所有数字以二进制表示为IEEE-754双打 ,它提供了一个准确度至约14或15显著数字。 他们并不总是完全代表实数,包括分数。



Answer 2:

您可以使用.toFixed()

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

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



文章来源: Division of a float/integer by a integer in jquery [duplicate]