JavaScript「parseInt()」10進文字列に関する問題 質問する

JavaScript「parseInt()」10進文字列に関する問題 質問する

toString 関数を使用した後、eコマース Web ページのカート コードで total_amount を取得しますが、14.82 文字列を int 数値に変換すると、小数点が消えます。

<script>
 var total_amount_string = <?=json_encode($cart['total_pvp'])?>;//-> 14,82
 var total_amount_int = parseInt(total_amount_string).toFixed(2); //-> 14.00(here is the error)

console.log(total_amount_string) //-> 14,82
console.log(total_amount_int) //-> 14.00
</script>

どうしたの?

ベストアンサー1

入力文字列が で"14,82"、値 が必要な場合、を に変換してから を使用する14.82必要があります。,.parseFloat

var total_amount_int = parseFloat(
        total_amount_string.replace(/,/g, ".")
    ).toFixed(2);

parseIntは、整数を定義する文字列の先頭部分のみを解析します ("int" = "integer" = "whole number")。したがって、 で停止します,parseFloatは小数を解析しますが、 が小数点であるロケールでも、.は小数点としてのみ理解され、 は理解されません。,,

おすすめ記事