-2

これらのコードは機能しています。正しく追加します。問題は、99000000.00 + 199000000.00を追加したい場合、298000000.00と表示されることです。

298,000,000.00を表示する99,000,000.00+199,000,000.00にするにはどうすればよいですか?

カンマで数値を計算するたびに、NAN/Invalidになります。しかし、コンマなしで数値を計算すると、うまく計算されます。NAN /無効な結果を出さずに、ユーザーが入力したテキスト領域/数字にコンマを入れるにはどうすればよいですか?

以下で使用されるコードを参照してください。

HTMLコード:

<table width="460" border="1">

                  <tr>
                        <tr>
                        <td>SOUTH CLUSTER (391)</td>
                        <td><input name="scc" type="text" size="25" id="scc" value="0.00"/></div></td>
                        </tr>
                        <tr>
                        <td>CENTRAL CLUSTER(387)</td>
                        <td><input name="ccc" type="text" size="25" id="ccc" value="0.00" /></div></td>
                        </tr>
                        <tr>
                        <td>NORTH CLUSTER(393)</td>
                        <td><input name="ncc" type="text" size="25" id="ncc" value="0.00"  /></div></td>
                        </tr>
                        <tr>
                        <td >C HUB(390)</td>
                        <td><input name="vch" type="text" size="25" id="vch" value="0.00"/></div></td>
                        </tr>
                        <tr>
                        <td>CH HUB(397)</td>
                        <td><input name="mch" type="text" size="25" id="mch" value="0.00"/></div></td>
                        </tr>
                        <tr>
                        <td>NLC HUB(399)</td>
                        <td><input name="nlch" type="text" size="25" id="nlch" value="0.00"/></div></td>
                        </tr>
                        <tr>
                        <td>SLC HUB(396)</td>
                        <td><input name="slch" type="text" size="25" id="slch" value="0.00"/></div></td>
                        </tr>
                        <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        </tr>
                        <tr>
                        <td>
                        <td><div class="style66" align="center"><input type="button" value="ADD" onclick="civ()"></center></td>
                        </tr>

JavaScriptコード:

function civ(){
civ1=Number(document.addition.scc.value);
civ2=Number(document.addition.ccc.value);
civ3=Number(document.addition.ncc.value);
civ4=Number(document.addition.vch.value);
civ5=Number(document.addition.mch.value);
civ6=Number(document.addition.nlch.value);
civ7=Number(document.addition.slch.value);
valNum1=Math.floor((civ1+civ2+civ3+civ4+civ5+civ6+civ7)*100)/100;
document.addition.civ123.value=valNum1;
}
4

3 に答える 3

1

カンマをクリーンアップするには、replaceを使用します。

number_with_commas.replace(/,/g, '');

または、数字または小数点以外のすべてをクリーンアップするには:

number_with_random_noise.replace(/[^0-9.]/g, '');
于 2011-04-29T06:29:26.687 に答える
1

カンマがある場合、それは数字ではありません(NaN)。

手っ取り早い解決策は、それらを数値に変換する関数を追加することです。

function NumWithComma(num){
    return parseInt(num.replace(",",""));
}

その後、

civ1 = NumWithComma(document.addition.scc.value);

これは簡単な修正です、私の意見では、あなたが投稿したものには多くの問題があります...うまくいけば、これは何らかの形で役立ちます

于 2011-04-29T06:31:33.767 に答える
0

正規表現replaceを使用してコンマを削除し、parseInt()を使用して結果の文字列を数値に変更します。

parseInt(yourVariable.replace(/\,/g,''),10)

明らかにユーザーは古いナンセンスをフィールドに入力できるため、結果が失敗する可能性があることに注意してください。parseInt()でドキュメントを読んでください。

于 2011-04-29T06:31:29.227 に答える