[英]decimal places in JS
我有兩個表單輸入,分別顯示計算出的發票小計和總計。
我遇到的問題是它沒有顯示2個小數位。
小計功能
function calcProdSubTotal() {
var prodSubTotal = 0;
$(".row-total-input").each(function(){
var valString = $(this).val() || 0;
prodSubTotal += parseInt(valString);
});
$("#product-subtotal").val(prodSubTotal);
};
總功能
function calcOrderTotal() {
var orderTotal = 0;
var productSubtotal = $("#product-subtotal").val() || 0;
var productTax = $("#product-tax").val() || 0;
var orderTotal = parseInt(productSubtotal) + parseInt(productTax);
var orderTotalNice = "$" + orderTotal;
$("#order-total").val(orderTotalNice);
};
如何顯示兩個小數位?
您可能需要在這里查看: http : //www.mredkj.com/javascript/nfbasic2.html
基本上,您可以使用toFixed(2)
,但是隨后您需要進行四舍五入。
或者,如果舍入不好,則可以執行parseInt(productTax * 100) / 100
。
如果您使用實數,最好使用parseFloat
而不是parseInt
。 要格式化數字,可以使用toFixed
函數:
$("#product-subtotal").val(prodSubTotal.toFixed(2));
更改$("#product-subtotal").val(prodSubTotal);
到$("#product-subtotal").val(addDecimals(prodSubTotal));
並更改$("#product-subtotal").val(prodSubTotal);
到$("#product-subtotal").val(addDecimals(prodSubTotal));
function addDecimals(a){
a += "";
var i=a.indexOf('.');
if(i<0){
return a + ".00";
}
var j = a.substring(i);
console.log(j);
if(j.length<3){
for(var k=j.length;k<3;k++)
a+='0';
return a;
}
if(j.length>3){
return a.substring(0, i)+j.substring(0,3);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.