У меня есть валютный ввод и нужно вернуть только значимые цифры. Вход всегда имеет два десятичных знака, поэтому:
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. Кроме этого, любые идеи? Я предполагаю, что существует регулярное средство сделать это тоже...