我有一个输入值 20,466,000.00 的文本框。我想只返回值20466000而不用逗号和小数点。我尝试了以下方法:
// Get value
var nca_balance = $("#nca-balance").text();
var nca_amount = parseInt(nca_balance.replace(",", ""),10);
alert(nca_amount);
但它只返回 20466 的值?为什么?我的预期结果必须是20466000.请帮助我的代码。感谢
答案 0 :(得分:6)
这个怎么样:
parseInt("20,466,000.00".replace(/,/g, ""), 10)
答案 1 :(得分:4)
因为默认情况下替换正在替换第一个逗号,所以使用g
替换正则表达式/,/g
中的全局选项,
var nca_balance = $("#nca-balance").text();
var nca_amount = parseInt(nca_balance.replace(/,/g, ""),10);
alert(nca_amount);
var nca_balance = $("#nca-balance").text();
var nca_amount = parseInt(nca_balance.replace(/,/g, ""), 10);
alert(nca_amount);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="nca-balance">20,466,000.00<span>
答案 2 :(得分:0)
您必须使用regular expression
而不是replace
函数,因为替换函数将仅替换第一个匹配的字符。
nca_balance = "20,466,000.00";
var nca_amount = parseInt(nca_balance.replace(/,/g, ''));
alert(nca_amount);
&#13;
正则表达式/,/g
将全局替换所提供字符的所有逗号。