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