gpt4 book ai didi

javascript - 如何使用 Regex 将字符串中的所有数字四舍五入?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:43 25 4
gpt4 key购买 nike

我正在研究 SVG 缩小器。我来到了这个需求。 SVG 中包含很多数字作为字符串,例如:

123.66 12.50 162.9873 23.67

我想将它们更改为:

124 13 163 24

我尝试过的是首先删除长数字:

// reduce the decimal to only 1 digit
source=source.replace(/(\d\.\d)\d+/g ,'$1');

然后,我尝试了

source=source.replace(/(\d)\.1/g,'$1');
source=source.replace(/(\d)\.2/g,'$1');
source=source.replace(/(\d)\.3/g,'$1');
source=source.replace(/(\d)\.4/g,'$1');

6.17.2 替换为 67 非常简单,如上所示。但是我怎样才能将 6.8 变成 7 或将 9.9 变成 10

我已经试过了,但是没有用:

source=source.replace(/(\d)\.6/g,Number('$1')+1);
source=source.replace(/(\d)\.7/g,Number('$1')+1);
source=source.replace(/(\d)\.8/g,Number('$1')+1);
source=source.replace(/(\d)\.9/g,Number('$1')+1);

有什么建议吗?

最佳答案

确保也选择小数(当它们存在时),然后传递一个函数作为 rounds 的替换器:

const str = '123.66 12.50 162.9873 23.67 23.22';
console.log(
str.replace(/\d+\.\d+/g, Math.round)
);

关于javascript - 如何使用 Regex 将字符串中的所有数字四舍五入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50780741/

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