当我写作11.00时显示11.00.00,否则其休息时工作正常
if(pos == -1)
{
document.getElementById("printCheckAmount").textContent = "$" + checkObj.checkAmount + ".00";
}
else
{
var integer = enterCheckAmount.substring(0,pos);
var decimals = enterCheckAmount.substring(pos+1);
while(decimals.length<2) decimals=decimals+'0';
enterCheckAmount = integer + '.' + decimals;
document.getElementById("printCheckAmount").textContent = "$" + checkObj.checkAmount;
}
答案 0 :(得分:0)
JavaScript没有十进制数的变量类型。它只有数字。如果要在小数点后面用两个零显示整数作为十进制数,可以使用方法toFixed
。
以下是一个例子:
var myNumber = 11;
var myDecimalNumber = myNumber.toFixed(2);
console.log(myDecimalNumber) // will output 11.00
因此,无需连接字符串并手动将“.00”添加到您的号码中。
除此之外,您还可以使用方法parseInt
和parseFloat
。假设你有一个类型为string的变量,其值为“11件”。您可以使用以下代码行获取整数:
var myString = "11 pieces";
var myInteger = parseInt(myString, 10);
console.log(myInteger); // will output 11
如果你有类似的东西,你最好使用这种方法,而不是削减子串。
我祝愿您在重构代码方面取得很大成功,并热烈欢迎StackOverflow社区。 p>