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
は小数を解析しますが、 が小数点であるロケールでも、.
は小数点としてのみ理解され、 は理解されません。,
,