Обрезать нули после точки с конца на JavaScript
Каким образом обрезать все нули после точки с конца?
Моё регулярное выражение не работает:
'1.00030000'.replace(/\.0{1,}$/, '');
Однако работает так, но естественно неверно, так как нужно после точки:
'1.00030000'.replace(/0{1,}$/, '');
Нужно чтобы получилось 1.0003
Ответы (2 шт):
Автор решения: moxolim
→ Ссылка
console.log(Number(1.00030000));
//или
console.log('1.00030000'.replace(/(?<=\.[0-9]+)0{1,}$/, ''));
Автор решения: yar85
→ Ссылка
console.log('1.00030000'.replace(/(\.\d*?)0+$/, '$1'));
\d*? - любое количество цифр, с ленивым квантификатором (*?): в противоположность дефолтному жадному поведению (захват как можно большей части строки), он захватывает минимальное количество символов. А не останавливаться на первом же подходящем символе, его вынуждает следующий далее токен 0+ с признаком конца текста $.