超级简单-我在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
答案 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 ???.