function totalrunningtime(){
var sum = 0;
var qty = document.getElementById("cutterprodqty").value;
$(".cutterrumnoofmin").each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places
$("#cutterrunningtimetotal").html(sum);
document.getElementById("cutterrunningtimetotal").value = sum;
var total = (sum/qty);
var t = total.toFixed(3);
$("#cutterspeed").val(t);
}
当我输入文本字段时 恩。 420/600答案是0.700,当我在计算器中检查答案是0.7
请帮帮忙,非常感谢:)
答案 0 :(得分:0)
由于您使用的是Number#toFixed
,因此它会在小数部分后自动生成3位数(0.700
相当于0.7
)。
要避免小数部分尾随0
使用String#replace
方法。
var t = total.toFixed(3).replace(/(\.[^0]*)0+/, function(_, m1){
// check all are 0 or not
return m1.length > 1 ? m1 : '';
})
UPDATE:或者通过将结果字符串解析为 @JJJ 的评论来更好的方式。
var t = Number(total.toFixed(3))
// convert into string using toString() if necessary