替换为正则表达式表示最小/最大十进制长度
Replace with regex for min/max decimal length
>我在这个论坛上发现了以下正则表达式,可以将任何数字替换为尽可能小的十进制长度:
number.toFixed(maxDecimal).replace(/'.?0+$/, '');
它的效果非常好,除了一种情况:当数字等于 49.99999999 时,当我将 maxDecimal 设置为 0 时,它返回 5 而不是 50。我对正则表达式有点迷茫,如果您提出建议,将不胜感激。
只需删除问号?
,因为这会使50
减少到5
,因为正则表达式说小数点出现 0 或 1 次,后跟 1 个或多个0
。您不希望这样,因为 0/50 将与 0+ 部分匹配,因为小数点是可选的。使用此正则表达式来确保仅正确替换小数部分。
>47.79955965.toFixed(5).replace(/('.0+){0,1}$/, '');
"47.79956"
>number=49.9999999
49.9999999
> number.toFixed(5).replace(/('.0+){0,1}$/, '');
"50"
> number.toFixed(0).replace(/('.0+)?$/, '');
"50"
相关文章:
- 用于验证十进制数的正则表达式
- 按键时的正则表达式,取一个十进制值,允许小数后三位
- 如何创建一个像SQL十进制类型一样匹配(p,s)精度和小数位数的正则表达式
- 使用jquery验证器插件为十进制数设置正则表达式
- 用于在字符串中查找十进制数的正则表达式
- 用于十进制验证的 Javascript 正则表达式不起作用
- 只允许整数和十进制数字textbow jquery(不带正则表达式)
- 替换为正则表达式表示最小/最大十进制长度
- JavaScript 正则表达式货币仅限十进制
- 十进制数字的 Javascript 正则表达式 - 替换非数字和多个小数点
- 十进制正则表达式和空字符串
- HTML 正则表达式验证在十进制输入上仅限制一个句点
- 正则表达式表示数字,不超过 3 位数字,十进制可以是 .50 或 .00
- JavaScript 正则表达式查找十进制值
- 用于验证范围内十进制值的正则表达式是什么 - 0 到 99999.00
- 十进制数的正则表达式
- 寻找正则表达式以匹配 ng 模式中的特定十进制格式
- 精度为5,比例为2的十进制正则表达式
- 十进制正则表达式
- 带零的十进制正则表达式