为什么我的 tofix()函数不工作?

这是相关代码。我已经通过警报确认正确的数字已经被保存,只是没有被改为小数点后两位。

if ($(this).attr('name') == 'time') {
var value = $(this).val();
parseFloat(value).toFixed(2);
alert(value);
editEntry.time = value;
}
171211 次浏览

您没有将解析后的浮点数赋值给 value var:

value = parseFloat(value).toFixed(2);

应该能解决问题。

您的转换数据是响应[25] ,并遵循以下步骤。

var i = parseFloat(response[25]).toFixed(2)
console.log(i)//-6527.34

Example simple (worked):

var a=Number.parseFloat($("#budget_project").val()); // from input field
var b=Number.parseFloat(html); // from ajax
var c=a-b;
$("#result").html(c.toFixed(2)); // put to id='result' (div or others)
document.getElementById("EDTVALOR").addEventListener("change", function() {
this.value = this.value.replace(",", ".");
this.value = parseFloat(this.value).toFixed(2);
if (this.value < 0) {
this.value = 0;
}
this.value = this.value.replace(".", ",");
this.value = this.value.replace("NaN", "0");
});

我尝试函数到固定(2)多次。每次控制台显示“到固定()不是一个函数”。

但是我是通过使用 Math.round ()来解决的

例如:

if ($(this).attr('name') == 'time') {
var value = parseFloat($(this).val());
value = Math.round(value*100)/100; // 10 defines 1 decimals, 100 for 2, 1000 for 3
alert(value);
}

这东西对我很有用,也许对你们也有帮助。

您的值不能是一个整数,所以添加0将您的值转换为整数,然后 toFixed()将工作。