1

aspx ページに実装しようとしている JavaScript では、parsefloat("-2.00') は値 0-2.00 を返しています。

parsefloat は負の数を処理できるため、明らかに見逃しているものがありますが、ここではデバッグでこの値を示しており、出力は 0 になっています。

私が間違っているかもしれないことを調べるのを手伝ってください。

私がjavascriptで使用しているコード

var A=0;
A = document.getElementById('A').value;
A += (parseFloat(A).toFixed(2));
document.getElementById("C").value = roundToTwo(parseFloat(A) + parseFloat(B));

ありがとう

4

2 に答える 2

2

アップデート

ドキュメントを参照してください.toFixed()- その数値の文字列表現を返します。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

あなたがする必要があるのは、2 つの数字を分割して追加し、toFixed を呼び出すことです。このような

 var A=0; //A is of type number
 A = document.getElementById('A').value; //A is of type string
 A += parseFloat(A); //A is of type number again
 A = A.toFixed(2); //A is of type string again

1 つが数値で、もう 1 つが文字列である 2 つの変数を呼び出す+=と、両方が文字列にキャストされ、単純に追加されます。

于 2015-07-15T06:49:34.327 に答える
1

問題は、 id を持つ HTML 要素の値を取得しているときにA、文字列値を取得していることです。float を文字列に追加しようとしているため、flaot は自動的に文字列に変換され、連結されます。

A常にフロートであることを確認することで、この問題を解決できます。

A = parseFloat(document.getElementById('A').value);
A += parseFloat(parseFloat(A).toFixed(2));
于 2015-07-15T06:55:29.090 に答える