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

时间:2019-08-27 06:27:20

标签: javascript math division

超级简单-我在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返回8,960573476702509,但它返回了10

3 个答案:

答案 0 :(得分:3)

您正在做两个整数的除法,因为parseInt(50.00)将得到50,而parseInt(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

答案 1 :(得分:1)

在处理十进制数字时,您需要使用parseFloat

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

答案 2 :(得分:1)

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 ???.