gpt4 book ai didi

javascript - 四舍五入小数点后两位 - 找不到正确的公式

转载 作者:行者123 更新时间:2023-11-30 17:45:51 24 4
gpt4 key购买 nike

我似乎找不到在我的代码中有两位小数的正确公式。现在,当我点击第一个关于计算的选项时,它会四舍五入到小数点后三位(不是说小数点后三位意味着什么。但不管结果如何,它都应该四舍五入到小数点后两位)。这是我最后一次尝试:

$('#a_is_valid').one('click', function(){
if ($('#code_promo').val() == 'promocode')
{$('#gtotal').val($('#gtotal').val()-($('#gtotal').val()-
(($('#gtotal').val()*.75)))).fixed(2);

}
})

最佳答案

给定一个数字(或代表数字的字符串),为什么不这样做:

var number;
var output = (Math.round(number * 100) / 100).toFixed(2);

在您的情况下,看起来您想要:

$('#a_is_valid').one('click', function(){
if ($('#code_promo').val() == 'promocode')
{$('#gtotal').val((Math.round($('#gtotal').val() * 75) / 100).toFixed(2));

Math.round(足够恰当)四舍五入到最接近的整数,因此您必须施展魔法。乘以 10^(您想要的小数位数)- 在您的情况下,10^2 或 100,四舍五入,然后除以相同的数字。

在我专门为您制作的示例中,您会注意到我乘以 75:0.75 * 100。

使用函数可能最容易看出这一点:

function roundToNPlaces(n, val) {
var multiplier = Math.pow(10, n);
return (Math.round(val * multiplier) / multiplier).toFixed(n);
}

然后你可以简单地设置你的 gtotal 如下:

$('#gtotal').val(roundToNPlaces(2, $('gtotal').val() * 0.75));

查看此 FIDDLE .

参见:

  • > Math.round 注意:本文档提供的实现类似于(但比)我提供的代码更复杂。如果您将整个 Decimal rounding 示例复制到您的代码中(在您第一次需要使用它之前),您就可以使用 Math.round10($('#gtotal') .val() * .75, -2);。参见 http://jsfiddle.net/aW44n/1/
  • > toFixed

关于javascript - 四舍五入小数点后两位 - 找不到正确的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20201608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com