У меня есть ввод валюты и мне нужно возвращать только значащие цифры. Ввод всегда имеет два десятичных знака, поэтому:
4.00 -> 4
4.10 -> 4.1
4.01 -> 4.01
Вот как я сейчас это делаю:
// chop off unnecessary decimals
if (val.charAt(val.length-1) == '0') { // xx.00
val = val.substr(0, val.length-1);
}
if (val.charAt(val.length-1) == '0') { // xx.0
val = val.substr(0, val.length-1);
}
if (val.charAt(val.length-1) == '.') { // xx.
val = val.substr(0, val.length-1);
}
, который работает и имеет определенную направленность, которая мне нравится, но, может быть, есть более симпатичный способ.
Полагаю, я мог бы использовать цикл и выполнить его три раза, но на самом деле кажется, что он будет по крайней мере таким же громоздким к тому времени, когда я обусловлю оператор if. Кроме этого, есть идеи? Я полагаю, что есть регулярный способ сделать это тоже ...