2016-06-18 8 views
-1
私はドット9990.95と、この合計に+20,2を追加しようとしている

やJSやjQueryを使ってカンマ9990,95とこの合計計算(合算)は/カンマ

<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ました。

これを行う方法はありますか?

+1

あなたは '9990'を返すのをどのように知っていますか?そしてあなたは 'parseFloat'関数を探しています。 – undefined

+0

[JavaScriptを使って文字列を浮動小数点に変換するにはどうすればいいですか?](http://stackoverflow.com/questions/642650/how-to-convert-string-into-float-in-javascript)次回は検索してください。 – nicael

答えて

2

parseInt正確には、文字列を整数に解析するというラベルのことです。整数は定義上小数点以下を持ちません。

代わりに、use parseFloat

calc = parseFloat(price) + 20, 
+3

または単に 'calc = + price + 20'です。 – nicael

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