相关疑难解决方法(0)

浮点数学是否破碎?

请考虑以下代码:

0.1 + 0.2 == 0.3  ->  false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2         ->  0.30000000000000004
Run Code Online (Sandbox Code Playgroud)

为什么会出现这些不准确之处?

language-agnostic math floating-point floating-accuracy

2798
推荐指数
28
解决办法
28万
查看次数

float 和 int 之和返回不寻常的小数位 js

我为我的某个项目编写了代码,在其中添加了几个数字。在此过程中,我从数组中添加整数和浮点数。直到数组的最后一个元素为止,总和具有适当的小数位数。但在最后一个元素处,总和突然给了我很多小数位。前一个和的数字与总和本身的小数位数少于 3 位,但最终的总和的小数位数超过 3 位。这是代码。这是JS里的。

function checkCashRegister(price, cash, cid) {
  var change = 0, cidSum = 0;
  change = cash - price;
  console.log(change);
  console.log(cid.length);
  for ( var i = 0; i < cid.length; i++ ){
    console.log("number " + cid[i][1]);
    cidSum += cid[i][1];
    console.log("sum " + cidSum);
  }
  console.log(cidSum);
  // Here is your change, ma'am.
  return change;
}

// Example cash-in-drawer array:
// [["PENNY", 1.01],
// ["NICKEL", 2.05],
// ["DIME", 3.10],
// ["QUARTER", 4.25],
// ["ONE", 90.00],
// ["FIVE", 55.00],
// …
Run Code Online (Sandbox Code Playgroud)

javascript arrays floating-point integer

2
推荐指数
1
解决办法
1万
查看次数