Javascript保留小数点

Javascript keep decimal place

本文关键字:小数点 保留 Javascript      更新时间:2023-09-26

我使用以下代码从属性data-price中获取价格,该属性分配给类似的单选按钮:data-price="25.00"

jQuery(document).ready(function($){
var frm = document.forms.myForm;
frm.onchange = function(e) {
var tot = 0;
for( var i = 0, l = frm.elements.length; i < l; i++ ) {
    if( frm.elements[i].checked ) {
        tot += parseFloat( frm.elements[i].getAttribute('data-price') );
    }  
}
document.getElementById('total').value = ( tot );
}
})

我遇到的问题是,当它在下面例子的输入框中显示它时,它只会显示25,我需要它说25.00,有办法解决这个问题吗?

tot.toFixed(2)

会给你结果。

由于您使用jQuery,您可以编写更多类似jQuery的代码,只是下面的示例,只是一个建议:

$(function () {
    $('form[name="myForm"]').change(function () {
        var tot = 0;
        $('input:checked', this).each(function () {
            tot += parseFloat($(this).data('price'));
        });
        $('#total').val(tot.toFixed(2));
    });
});

尝试分配tot.toFixed(2)。希望能有所帮助!

如果是数字,Javascript将不会显示25.00

console.log(25.00);
alert(25.00)

两者都将显示25。只有当后面有非零数字时,它才有效。

console.log(25.03);

因此,将其转换为数字进行计算,当在文本框中显示时,请像其他人在这里建议的那样使用.toFixed(2)

document.getElementById('total').value = tot.toFixed(2);

toFixed将其转换为字符串。