如何将jQuery中的运算符输出设置为数千个分隔符和2个小数点?

如何将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

我使用这些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>


<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