如何将jQuery中的运算符输出设置为数千个分隔符和2个小数点?
我使用这些html输入来计算两个输入1和2,并将结果显示在输入3中:如何将jQuery中的运算符输出设置为数千个分隔符和2个小数点?,jquery,Jquery,我使用这些html输入来计算两个输入1和2,并将结果显示在输入3中: <input type="text" class="inputdecimals" id="txt_balance_dec" name="txt_balance_dec" value="0.00"> <input type="text" class="inputdecimals" id="txt_nett_dec" name="txt_nett_dec" value="0.00"readonly&g
<input type="text" class="inputdecimals" id="txt_balance_dec" name="txt_balance_dec" value="0.00">
<input type="text" class="inputdecimals" id="txt_nett_dec" name="txt_nett_dec" value="0.00"readonly>
<input type="text" class="inputdecimals" id="txt_balance_nov" name="txt_balance_nov" value="0.00">
如果有人能帮我解决这个问题,我将不胜感激。谢谢。在尝试解析字符串之前,必须去掉字符串中的所有逗号,因为用逗号解析数字最多只能解析第一个逗号
//For example Result
parseFloat("5,4,3") // 5
parseFloat("15,000") // 15
parseFloat("123,456") // 123
这可以通过一个简单的替换来完成:.replace(/,/g')代码>
我也做了一些改变,只是为了整理一下:
- 制作了一个名为
parseCurrency
的函数,该函数同时执行replace
和parseFloat
,以便于重用
- 将格式设置放在名为
formatCurrency
的函数中,使其易于重用
- 生成的
dec\u余额
和nov\u余额
输入可以共享一个事件,因为对其中任何一个的更改都会强制进行net
重新计算
const formatCurrency=(str)=>(“”+str).replace(/[^\d.]/g,”).replace(/^(\d*\)(.*)(.*)(.*)/,“$1$2$3”).replace(/\.(\d{2})\d+/,“.$1”).replace(/\B(?=(\d{3})+(?!\d))/g,”,”;
const parseCurrency=(str)=>str.replace(/,/g',);
$('input.inputdecimals').keyup(函数(事件){
如果(event.which>=37&&event.which格式货币(v));
});
$(“#txt#u balance_dec,#txt#u balance_nov”).keyup(函数(){
var bal_dec=分析货币($(“#txt_balance_dec”).val();
var bal_nov=parseCurrency($(“#txt_balance_nov”).val();
var结果=余额12月-余额11月;
$('txt_nett_dec').val(格式货币(结果));
});代码>
输入{显示:块;边距:10px 0;}
12月
十一月
Net
在尝试解析字符串之前,必须去掉字符串中的所有逗号,因为用逗号解析数字最多只能解析第一个逗号
//For example Result
parseFloat("5,4,3") // 5
parseFloat("15,000") // 15
parseFloat("123,456") // 123
这可以通过一个简单的替换来完成:.replace(/,/g')代码>
我也做了一些改变,只是为了整理一下:
- 制作了一个名为
parseCurrency
的函数,该函数同时执行replace
和parseFloat
,以便于重用
- 将格式设置放在名为
formatCurrency
的函数中,使其易于重用
- 生成的
dec\u余额
和nov\u余额
输入可以共享一个事件,因为对其中任何一个的更改都会强制进行net
重新计算
const formatCurrency=(str)=>(“”+str).replace(/[^\d.]/g,”).replace(/^(\d*\)(.*)(.*)(.*)/,“$1$2$3”).replace(/\.(\d{2})\d+/,“.$1”).replace(/\B(?=(\d{3})+(?!\d))/g,”,”;
const parseCurrency=(str)=>str.replace(/,/g',);
$('input.inputdecimals').keyup(函数(事件){
如果(event.which>=37&&event.which格式货币(v));
});
$(“#txt#u balance_dec,#txt#u balance_nov”).keyup(函数(){
var bal_dec=分析货币($(“#txt_balance_dec”).val();
var bal_nov=parseCurrency($(“#txt_balance_nov”).val();
var结果=余额12月-余额11月;
$('txt_nett_dec').val(格式货币(结果));
});代码>
输入{显示:块;边距:10px 0;}
12月
十一月
Net
谢谢您的回复。我先试试。顺便说一句,谢谢。它起作用了。但是,我如何显示净值也有千个分隔符和2个小数点?谢谢。我试试你的片段。值dec 1000.00-值2000.00等于1000?应该是-1000.00是的,我特别注意到了这一点。看看我答案的底部。您的格式化功能将从负数中删除-
。您能否更新您的答案,使总数可以接受负值?谢谢您的回复。我先试试。顺便说一句,谢谢。它起作用了。但是,我如何显示净值也有千个分隔符和2个小数点?谢谢。我试试你的片段。值dec 1000.00-值2000.00等于1000?应该是-1000.00是的,我特别注意到了这一点。看看我答案的底部。您的格式化功能将从负数中删除-
。您能否更新您的答案,使总数可以接受负值?
//For example Result
parseFloat("5,4,3") // 5
parseFloat("15,000") // 15
parseFloat("123,456") // 123