Вы можете использовать регулярное выражение для замены лидирующих нулей одним:
valueString.replace(/^(-)?0+(0\.|\d)/, '$1$2')
>'-000.0050'.replace(/^(-)?0+(0\.|\d)/, '$1$2')
< "-0.0050"
>'-0010050'.replace(/^(-)?0+(0\.|\d)/, '$1$2')
< "-10050"
Совпадения: <beginning of text><optional minus sign><any sequence of zeroes><either a zero before the dot or another digit>
Заменяет на: <same sign if available><the part of the string after the sequence of zeroes>
^ - начало текста
? означает необязательный (относится к предыдущему символу)
(a | b) означает либо a, либо b
. является точкой (экранированная как. имеет особое значение)
\ d - любая цифра
$ 1 означает, что вы нашли в первом наборе ()
$ 2 означает, что вы нашли во втором наборе ()
