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