Mam dane wejściowe waluty i muszę zwrócić tylko znaczące cyfry. Wejście zawsze ma dwa miejsca po przecinku, więc:posiekaj nieużywane miejsca dziesiętne z javascript
4.00 -> 4
4.10 -> 4.1
4.01 -> 4.01
Oto jak jestem obecnie robi to:
// 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);
}
który działa i ma pewną bezpośredniość o to, że ja niby podobne, ale może jest ładniejsza droga.
Przypuszczam, że mógłbym użyć pętli i przejść przez nią trzy razy, ale to wydaje się, że będzie co najmniej tak nieporęczne, gdy warunkuję instrukcję if. Poza tym, wszelkie pomysły? Wyobrażam sobie, że jest to również sposób na wyrenderowanie ....
Pływak może nie mieć wystarczającej precyzji dokładnie reprezentować daną wartość dziesiętną; nigdy nie należy ich używać do reprezentowania waluty. –
To prawda. –
Myślę, że będą one reprezentowane poprawnie, o ile nie wykonasz na nich żadnych operacji. Nie można również wykonywać operacji dziesiętnych w JavaScript (bez biblioteki dziesiętnej, która używa łańcuchów lub tablicy liczb całkowitych wewnętrznie). – Nosredna