Vì vậy, tôi đã viết một phương thức trợ giúp nhỏ để chuyển đổi số thành định dạng tiền hợp lệ ($xx,xxx.xx
) sử dụng .toLocaleString()
. Mọi thứ hoạt động như mong đợi khi sử dụng nó bên trong Chrome, tuy nhiên nó có vẻ hoàn toàn bị hỏng khi sử dụng bên trong Node.js.Sử dụng .toLocaleString() trong Node.js
Ví dụ:
var n = 6000
console.log(n.toLocaleString('USD', {
style: 'currency',
currency: "USD",
minimumFractionDigits : 2,
maximumFractionDigits : 2
}));
Nếu bạn chạy này trong trình duyệt, nó in $6,000.00
. Nếu bạn chạy đoạn mã này bên trong Node.js REPL hoặc ứng dụng, nó trả về 6000
làm Chuỗi.
Đoán đây là lỗi với Node.js? Có một công việc xung quanh bạn có thể làm ở đây?
Hãy xem http://stackoverflow.com/questions/17935594/can-i-get-node-to-output-commas-in-number-strings-without-bringing-in-i18n Chúng tham chiếu đến vấn đề github dường như cho thấy rằng đó là một lỗi/tính năng vì họ không muốn bao gồm hỗ trợ i18n theo mặc định. Tuy nhiên bạn có thể biên dịch phiên bản nút của riêng bạn với hỗ trợ bao gồm nếu nó quan trọng đối với bạn. – TheShellfishMeme
@TheShellfishMeme Tốt bắt! Nó không phải là 100%, nhưng tôi có thể thay đổi nó để làm việc cho những gì tôi cần. –