Javascript 浮点数学混乱
我试图得到两个数字之间的百分比,以显示折扣方面的差异。我试着尽可能地简化它,但我仍然不能得到我想要的 这里有一个例子。 我想得到的是Javascript 浮点数学混乱,javascript,math,Javascript,Math,我试图得到两个数字之间的百分比,以显示折扣方面的差异。我试着尽可能地简化它,但我仍然不能得到我想要的 这里有一个例子。 我想得到的是alert()返回值25.50。但是,我得到了25.47 有没有办法把这件事做好?25.47486。。。这是正确的答案。如果您试图四舍五入到最接近的十分之一,您可以使用: $(window).load(function() { var RegPrice = 8.95; var OnSale = 6.67; var OnSaleAT = Ma
alert()
返回值25.50
。但是,我得到了25.47
有没有办法把这件事做好?25.47486。。。这是正确的答案。如果您试图四舍五入到最接近的十分之一,您可以使用:
$(window).load(function() {
var RegPrice = 8.95;
var OnSale = 6.67;
var OnSaleAT = Math.round(Math.abs(Math.max(100.00 - 6.67 / 8.95 * 100.00)) * 10.00) / 10.00
alert(OnSaleAT.toFixed(2));
});
var result = Math.round(OnSaleAT * 10) / 10;
输出:25.5,然后您可以根据自己的喜好格式化您的答案。25.47486。。。这是正确的答案。如果您试图四舍五入到最接近的十分之一,您可以使用:
var result = Math.round(OnSaleAT * 10) / 10;
其中输出:25.5,然后您可以根据自己的喜好格式化您的答案。如果您试图将其四舍五入到25.5%,您只需使用toFixed参数1而不是2来发出警报:
alert(OnSaleAT.toFixed(1));
除此之外,Rob W是对的……计算结果是25.47,对此你无能为力。如果你想将四舍五入到25.5%,你可以用toFixed参数1而不是2来提醒:
alert(OnSaleAT.toFixed(1));
除此之外,Rob W是对的……计算结果是25.47,你对此无能为力。尝试一下saleat.toFixed(1)+'0':)尝试一下saleat.toFixed(1)+'0')
Math.ceil(1000*(1-OnSale/RegPrice))/10
给你“25.5”
:)
Math.ceil(1000*(1-OnSale/RegPrice))/10
给你“25.5”
:)基本算术运算不需要jQuery。另外,
25.47%
的折扣是正确的。它与jQuery有关的是,jQuery不是javascript6.67/8.95=0.74525
,100-74.525=25.475
,小数点后两位是25.47
。如果要进行舍入,则需要使用Math.round()
。基本算术运算不需要jQuery。另外,25.47%
的折扣是正确的。它与jQuery有关的是,jQuery不是javascript6.67/8.95=0.74525
,100-74.525=25.475
,小数点后两位是25.47
。如果你想取整,你需要使用Math.round()
。我也会使用这段代码。此代码必须添加到var OnSaleAT
之后。警报看起来像:alert(result,toFixed(2))代码>。谢谢,这就是我想要得到的。我也会使用此代码。此代码必须添加到var OnSaleAT
之后。警报看起来像:alert(result,toFixed(2))代码>。谢谢,这就是我想要的。