Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式格式价格,2箱_Javascript_Jquery_Regex - Fatal编程技术网

Javascript正则表达式格式价格,2箱

Javascript正则表达式格式价格,2箱,javascript,jquery,regex,Javascript,Jquery,Regex,我有两个价格格式的案例,我被困在正则表达式上,我找不到任何解决方案如何解决它 我的正则表达式格式价格:/\d\d{3}\./g 案例1: 结果:1000000.0000 预计:1000000.0000 案例2: 结果:1000.0000000 预计:1.000.0000000 JsFiddle: 是否可以仅使用正则表达式实现 谢谢试试这个: 首先用小数点分隔符替换所有点。然后将数千人分组 price.replace(".", decimalSeparator).replace(/\B(?=(\

我有两个价格格式的案例,我被困在正则表达式上,我找不到任何解决方案如何解决它

我的正则表达式格式价格:/\d\d{3}\./g

案例1: 结果:1000000.0000

预计:1000000.0000

案例2: 结果:1000.0000000

预计:1.000.0000000

JsFiddle:

是否可以仅使用正则表达式实现

谢谢

试试这个:

首先用小数点分隔符替换所有点。然后将数千人分组

price.replace(".", decimalSeparator).replace(/\B(?=(\d{3})+(?!\d))/g, thousandSeparator);
代码:

风险价值价格='1000000.00'; var小数=2; 变量千分位分隔符=','; 变量小数分隔符=''; var formattedprice=price.replace.,decimalSeparator.replace/\B?=\d{3}+\d/g,千分位分离器; querySelector'case_1 span'.innerHTML=格式化价格; 风险价值价格='1000000.00'; var小数=2; 变量千分位分隔符=''; 变量小数分隔符=','; var formattedprice=price.replace.,decimalSeparator.replace/\B?=\d{3}+\d/g,千分位分离器; document.querySelector'case_2 span'.innerHTML=formattedPrice 案例1:
案例2:@Tim Biegeleisen,我已经试过了。如果看api,它可能允许您在不使用regexIt的情况下执行所需操作。如果不使用4位小数,例如:1000000.0000。返回1000000.0000。问题已更新。
var price             = '1000000.0000';
var decimals          = 2;
var thousandSeparator = '.';
var decimalSeparator  = ',';
var formatedPrice     = price.replace(/(\d)(\d{3})(\.)/g, '$1' + thousandSeparator + '$2' + decimalSeparator + '');
document.querySelector( '#case_2 span' ).innerHTML = formatedPrice;
price.replace(".", decimalSeparator).replace(/\B(?=(\d{3})+(?!\d))/g, thousandSeparator);