Tôi đã nhập tiền tệ và chỉ cần trả về các chữ số có nghĩa. Các đầu vào luôn luôn có hai chữ số thập phân, vì vậy:chop số thập phân chưa sử dụng với javascript
4.00 -> 4
4.10 -> 4.1
4.01 -> 4.01
Đây là cách tôi đang làm việc đó:
// 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);
}
mà làm việc, và có một thẳng nhất định với nó rằng tôi giống như, nhưng có thể có một cách đẹp hơn.
Tôi cho rằng tôi có thể sử dụng một vòng lặp và chạy qua nó ba lần, nhưng điều đó thực sự có vẻ như nó sẽ ít nhất là cồng kềnh khi tôi điều kiện hóa câu lệnh if. Khác hơn thế, bất kỳ ý tưởng? Tôi tưởng tượng có một cách regex để làm điều đó, quá ....
Một phao có thể không có đủ độ chính xác để phản ánh đúng giá trị thập phân nhất định; bạn không bao giờ nên sử dụng chúng để đại diện cho tiền tệ. –
Đó là sự thật. –
Tôi nghĩ rằng chúng sẽ được thể hiện chính xác miễn là bạn không thực hiện các thao tác trên chúng. Và bạn không thể thực hiện các phép toán theo số thập phân trong JavaScript dù sao (không có một thư viện thập phân sử dụng chuỗi hoặc một mảng các số nguyên bên trong). – Nosredna