我有以下代码:

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/

10-09 13:15