如何允许逗号添加我的添加代码

时间:2011-04-29 06:22:40

标签: javascript html addition comma

这些代码正在运行;正确添加。问题是,如果我想添加99000000.00 + 199000000.00,它显示298000000.00。

如何制作显示298,000,000.00的99,000,000.00 + 199,000,000.00?

每次用逗号计算数字时,都会导致NAN /无效。但是,如果我用逗号计算数字,它就会计算得很好。如何在没有NAN / Invalid结果的情况下允许用户输入的文本区域/数字中的逗号?

请参阅下面使用的代码:

HTML CODE:

<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 CODES:

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;
}

3 个答案:

答案 0 :(得分:1)

使用replace来清除逗号:

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

或者清除不是数字或小数点的所有内容:

number_with_random_noise.replace(/[^0-9.]/g, '');

答案 1 :(得分:1)

当您有逗号时,它不是数字(NaN)。

quickfix是添加一个函数将它们转换为数字

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

然后做

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

这是一个quickfix,在我看来,你发布的内容有很多不妥之处...希望这会有所帮助

答案 2 :(得分:0)

使用正则表达式replace删除任何逗号,使用parseInt()将结果字符串更改为数字。

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

请注意,结果可能仍会失败,因为显然您的用户可以在字段中键入任何旧的废话。阅读parseInt()上的doco。