为什么我得到错误的除法答案?

Why am I getting the wrong division answer?

超级简单 - 我是 运行 React 中的一个 useEffect 函数。我需要做一个简单的计算,但我总是得到错误的答案。

例如,我得到 10 作为答案而不是预期的 8,960...

一开始我以为可能是一个字符串而不是一个Int,但是没有区别。

const price = 5.58;
console.log(price); // returns 5.58
const money = 50.00;
console.log(money); // returns 50
const dev = parseInt(money) / parseInt(price);
console.log(dev) // returns 10 ???.

我预计它 const dev 到 return 8,960573476702509 但它 return 变成了 10

你需要使用 parseFloat 因为你正在处理十进制数

const price = 5.58;
console.log(price); 
const money = 50.00;
console.log(money); 
const dev = parseFloat(money) / parseFloat(price);
console.log(dev)

const price = 5.58;
console.log(price); // returns 5.58
const money = 50.00;
console.log(money); // returns 50
const dev = money / price;
console.log(dev) // returns 10 ???.

你正在做两个整数之间的除法,因为 parseInt(50.00) 会得到 50parseInt(5.58) 会得到 5,所以你的计算会做 50/5 等于 10。要使用浮点数执行数学运算,无需解析它们,因为它们已经是浮点数:

const price = 5.58; // already a float
console.log(price); // returns 5.58
const money = 50.00; // already a float
console.log(money); // returns 50
const dev = money / price;
console.log(dev) // 8.960573476702509