javascript regexp-用四舍五入的数字替换字符串中的所有浮点数

javascript regexp-用四舍五入的数字替换字符串中的所有浮点数,javascript,regex,Javascript,Regex,有点基本的javascript/regexp,但我现在还不能把它组装起来 我有一个带浮点数的字符串 "m 135.969098800748,207.1229911216347 c -0.7762491582645,-0.2341987326806 -1.1870973239185,-1.1248369132174 -1.6826107603382,-1.6767899650268 z" 我想用四舍五入的数字替换所有浮点数(Math.round) 怎么做 谢谢使用。替换和回拨 var str

有点基本的javascript/regexp,但我现在还不能把它组装起来

我有一个带浮点数的字符串

"m 135.969098800748,207.1229911216347 c -0.7762491582645,-0.2341987326806  -1.1870973239185,-1.1248369132174 -1.6826107603382,-1.6767899650268 z"
我想用四舍五入的数字替换所有浮点数(Math.round)

怎么做


谢谢

使用
。替换
和回拨

var str = "m 135.969098800748,207.1229911216347 c -0.7762491582645,-0.2341987326806  -1.1870973239185,-1.1248369132174 -1.6826107603382,-1.6767899650268 z";
str.replace(/-?\d+\.\d+/g, function(x) {
  return Math.round(parseFloat(x));
})

=> "m 136,207 c -1,0  -1,-1 -2,-2 z"
顺便说一句,您的预期结果中有一个输入错误,您缺少了一个
-

"m 136,207 c -1,0  1,-1 -2,-2 z"
应该是

"m 136,207 c -1,0  -1,-1 -2,-2 z"
我上面的代码给出了正确的结果

"m 136,207 c -1,0  -1,-1 -2,-2 z"