字符串相乘的点

假设我有一个以此格式声明的点列表:x1,y1 x2,y2

listOfPoints : string = "12.2,13.0 198.2,141";

例如,该字符串的每个数字如何乘以1.5? 我是否需要遍历listOfPoints并在每次有','或''时提取一个字符串,将该字符串转换为数字,将其乘以1.5,然后将其转换为字符串,最后将其放入新字符串中(newListOfPoints)?

还是有另一种方法可以更有效地做到这一点?

谢谢。

hailang_163 回答:字符串相乘的点

使用带有替换功能的正则表达式来匹配数字(可能是小数),并用这些数字乘以所需的数字来替换:

100

由于浮点问题,某些结果数字可能带有尾随数字。如果不希望这样,可以将乘数四舍五入到小数位数:

const listOfPoints = "12.2,13.0 198.2,141";
const multiplied = listOfPoints.replace(
  /\d+(?:\.\d+)?/g,match => match * 1.5
);
console.log(multiplied);

本文链接:https://www.f2er.com/3169448.html

大家都在问