在javascript中添加浮动数字

时间:2018-06-01 13:44:56

标签: javascript floating-point

我想知道JavaScript处理浮点的方式。

即。假设我将5个变量设置为(无十进制数):

div {
    background-image: radial-gradient(closest-side, transparent, transparent 80%, white), url('https://www.welt.de/img/wirtschaft/mobile172774245/5812507447-ci102l-w1024/GERMANY-US-GABRIEL-MUSK-TESLA.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 400px;
    height: 400px;
    border-radius: 50%;
 }

这些的总和是否保证为1?

所附答案没有回答我的问题,我想区分十进制数的声明变量,如上所述定义它们(0.5对1/2)

1 个答案:

答案 0 :(得分:0)

不,总和不能保证是一个。

浮点运算产生实数算术的近似值。在基于二进制的浮点中,1/2将是精确的,但是将近似1/3和1/12,并且值的相加可以引入进一步的近似。每个操作中的舍入误差实际上是随机的,因此无法保证它们会取消并产生一个恰好为1的和。 (一般来说;它们可能会也可能不会产生一个特定问题1/2 + 1/3 + 1/12 + 1/12,在这种情况下,当相同的操作在同一个中重复时,它们应该可靠地这样做但是对于类似的问题,一般都没有保证。)