用点/逗号计算(加起来)

时间:2016-06-18 18:36:47

标签: javascript jquery

我试图用点9990.95将这个和加上+20,2或用逗号9990,95加js或jquery

<span class="sum">9990.95</span>

var price = $( '.sum' ).text(),
    calc  = parseInt( price, 10 ) + 20,
    total = calc.toFixed( 2 );

给我9990不带小数

我也是这样尝试的

var price = $( '.sum' ).text(),
    calc  = 20,
    total = price + calc;

输出为9990.9920,这也不正确。

有办法怎么做?

2 个答案:

答案 0 :(得分:3)

parseInt确切地说,标签所说的 - 将字符串解析为整数。根据定义,整数没有小数。

相反,use parseFloat

calc = parseFloat(price) + 20,

答案 1 :(得分:1)

我认为OP正在寻找一种方法,用点或逗号作为小数分隔符将数字解析为浮点Number

let parseDecimalPoint = Number.parseFloat;
    parseDecimalComma = str => Number.parseFloat(str.replace('.', '').replace(',', '.'))

console.log(parseDecimalComma("+20,2") + parseDecimalComma("9990,95"));
console.log(parseDecimalComma("+20,2") + parseDecimalPoint("9990.95"));

另见Javascript parse float is ignoring the decimals after my comma