我有以下代码:
if(netAnnualBilling == null){
netAnnualBilling = 0;
parseFloat(netAnnualBilling);
}
parseFloat(netAnnualBilling);
annualBillingCount = (annualBillingCount + netAnnualBilling);
parseFloat(annualBillingCount);
我的两个变量netAnnualBilling和AnnualBillingCount都是类型编号。但是,当我到达这一行时:
annualBillingCount = (annualBillingCount + netAnnualBilling);
javascript似乎将AnnualBillingCount转换为String类型,并将两个数字附加在一起,而不是按预期的方式进行加法或减法。例:
annualBillingCount = 0;
netAnnualBilling = -1403.30
The result of the above code will show annualBillingCount to be equal to : 0-1403.80
每当这些变量弹出时,我都尝试过ParseFloat,但是我没有任何运气。这是怎么回事?
最佳答案
parseFloat()
不会更改该值,它会返回强制转换的值。你需要:
netAnnualBilling = parseFloat(netAnnualBilling)
关于javascript - 停止javascript自动从十进制转换为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19496708/