Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 用于数字零TrimAll(大数字)的正则表达式_Javascript_Regex_Numbers - Fatal编程技术网

Javascript 用于数字零TrimAll(大数字)的正则表达式

Javascript 用于数字零TrimAll(大数字)的正则表达式,javascript,regex,numbers,Javascript,Regex,Numbers,我正在寻找一(1)个正则表达式,用于从可能无法使用parseFloat()的大十进制数(整数和小数)中删除所有前导和尾随零 搜索并找到的所有帖子都针对不同的情况(前导零和尾随零等,只能输入整数或小数),但不能同时输入整数或分数 我在上找到的许多正则表达式都假设数字总是一个分数,然后去掉整数中的尾随零 我有下面的一行,但仍然需要添加从小数中删除尾随零的部分 下面的测试是不言自明的 我正在寻找一个单一的正则表达式解决方案 请注意,数字输入是字符串形式。 谢谢 函数numberTrimAll(num

我正在寻找一(1)个正则表达式,用于从可能无法使用parseFloat()的大十进制数(整数和小数中删除所有前导和尾随零

搜索并找到的所有帖子都针对不同的情况(前导零和尾随零等,只能输入整数或小数),但不能同时输入整数或分数

我在上找到的许多正则表达式都假设数字总是一个分数,然后去掉整数中的尾随零

我有下面的一行,但仍然需要添加从小数中删除尾随零的部分

下面的测试是不言自明的

我正在寻找一个单一的正则表达式解决方案

请注意,数字输入是字符串形式。

谢谢

函数numberTrimAll(numString){
//从十进制数中删除前导零和尾随零
//整数和小数
//
//需要包括以下(或一个替换)正则表达式
//修剪小数位数中的尾随零。
//
返回numString.replace(/([\.]0+$)^0+(?=\d)/g,“”;
}
//---------随后通过----------------------
测试(1,“00100”,“100”)
测试(2,“00100.0”,“100”)
测试(3,“0100.00”,“100”)
测试(4,“00100100.00”,“100100”)
测试(5,“00101.00”,“100101”)
测试(6,“0000.101”,“0.101”)
测试(7,“0000.1001”,“0.1001”)
测试(8,“120000”,“120000”)
测试(9,“00120000”,“120000”)
测试(10,“0000000 1288765433.123456789123567”,“1288765433.123456789123567”)
测试(11,“0000001.123456789123567”,“1.123456789123567”)
//------以下操作失败-------------
测试(12,“0000.10”,“0.1”)
测试(13,“0000.100”,“0.1”)
测试(14,“0000.123100”,“0.1231”)
测试(16,“0500.123100”,“500.1231”)
测试(14,“0500.002100”,“500.0021”)
//=============测试功能==================
功能测试(测试、输入、应){
var out=numberTrimAll(输入),r=out==should?真:假;
如果(!r)console.log(“Test”+Test+”失败:“+out+”应该是==>”+should);

否则控制台。日志(“通过”);}

这是一个替代方法,而不是试图剥离引导和拖尾零点,捕获中间的非零部分。

函数numberTrimAll(numString){
//从十进制数中删除前导零和尾随零
//整数和小数
//
//需要包括以下(或一个替换)正则表达式
//修剪小数位数中的尾随零。
//
返回numString.replace(/^0*(\d+\d+\.\d+?)\.?0*$/,“$1”);
}
//---------随后通过----------------------
测试(1,“00100”,“100”)
测试(2,“00100.0”,“100”)
测试(3,“0100.00”,“100”)
测试(4,“00100100.00”,“100100”)
测试(5,“00101.00”,“100101”)
测试(6,“0000.101”,“0.101”)
测试(7,“0000.1001”,“0.1001”)
测试(8,“120000”,“120000”)
测试(9,“00120000”,“120000”)
测试(10,“0000000 1288765433.123456789123567”,“1288765433.123456789123567”)
测试(11,“0000001.123456789123567”,“1.123456789123567”)
//------以下操作失败-------------
测试(12,“0000.10”,“0.1”)
测试(13,“0000.100”,“0.1”)
测试(14,“0000.123100”,“0.1231”)
测试(16,“0500.123100”,“500.1231”)
测试(14,“0500.002100”,“500.0021”)
//=============测试功能==================
功能测试(测试、输入、应){
var out=numberTrimAll(输入),r=out==should?真:假;
如果(!r)console.log(“Test”+Test+”失败:“+out+”应该是==>”+should);

否则控制台。日志(“通过”);}

这是一个替代方法,而不是试图剥离引导和拖尾零点,捕获中间的非零部分。

函数numberTrimAll(numString){
//从十进制数中删除前导零和尾随零
//整数和小数
//
//需要包括以下(或一个替换)正则表达式
//修剪小数位数中的尾随零。
//
返回numString.replace(/^0*(\d+\d+\.\d+?)\.?0*$/,“$1”);
}
//---------随后通过----------------------
测试(1,“00100”,“100”)
测试(2,“00100.0”,“100”)
测试(3,“0100.00”,“100”)
测试(4,“00100100.00”,“100100”)
测试(5,“00101.00”,“100101”)
测试(6,“0000.101”,“0.101”)
测试(7,“0000.1001”,“0.1001”)
测试(8,“120000”,“120000”)
测试(9,“00120000”,“120000”)
测试(10,“0000000 1288765433.123456789123567”,“1288765433.123456789123567”)
测试(11,“0000001.123456789123567”,“1.123456789123567”)
//------以下操作失败-------------
测试(12,“0000.10”,“0.1”)
测试(13,“0000.100”,“0.1”)
测试(14,“0000.123100”,“0.1231”)
测试(16,“0500.123100”,“500.1231”)
测试(14,“0500.002100”,“500.0021”)
//=============测试功能==================
功能测试(测试、输入、应){
var out=numberTrimAll(输入),r=out==should?真:假;
如果(!r)console.log(“Test”+Test+”失败:“+out+”应该是==>”+should);

else console.log(“Passed”);}
我会诚实地使用bigname或big.js,到此为止。
但是这里有一个正则表达式,它使用正向查找作为另一个匹配选项。
注意:中不支持查找

函数numberTrimAll(numString){
//从十进制数中删除前导零和尾随零
//整数和小数
//
//需要包括以下(或一个替换)正则表达式
//修剪小数位数中的尾随零。
//

return numString.replace(/([\.]0+$)|((?我会诚实地使用bigname或big.js,到此为止。
但是这里有一个正则表达式,它使用正向查找作为另一个匹配选项。
注意:中不支持查找

函数numberTrimAll(numString){
//从十进制数中删除前导零和尾随零
//两者