gpt4 book ai didi

javascript - 替换为最小/最大十进制长度的正则表达式

转载 作者:行者123 更新时间:2023-12-02 14:55:34 24 4
gpt4 key购买 nike

我在这个论坛上找到了以下正则表达式,可以将任何数字替换为尽可能小的十进制长度:

number.toFixed(maxDecimal).replace(/\.?0+$/, '');

它工作得很好,除了一种情况:当 number 等于 49.9999999 时,当我将 maxDecimal 设置为 0 时,它返回 5 而不是 50。我对正则表达式有点迷失,如果你想出一个建议。

最佳答案

只需删除问号,因为这会使50减少为5,因为正则表达式表示出现0或1次小数点,后跟1 个或多个 0。您不希望这样,因为 50 中的 0 会匹配 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"

关于javascript - 替换为最小/最大十进制长度的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35834163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com