簡體   English   中英

javascript regexp-用舍入數字替換字符串中的所有浮點數

[英]javascript regexp - replace all floating point numbers in a string with rounded numbers

一種基本的javascript / regexp,但我現在無法將其組合在一起。

我有一個帶浮點數的字符串

"m 135.969098800748,207.1229911216347 c -0.7762491582645,-0.2341987326806  -1.1870973239185,-1.1248369132174 -1.6826107603382,-1.6767899650268 z"

我想將所有浮點數替換為四舍五入的數字(Math.round)

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

怎么做?

謝謝

使用.replace和回調。

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"

我上面的代碼給出了正確的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM