5

Tôi đang cố gắng định dạng một số số bằng jQuery. Tôi muốn nhận cài đặt vùng của người dùng đối với đơn vị tiền tệ và số, để triển khai định dạng đúng (có dấu tách thập phân).Hot để nhận cài đặt khu vực của người dùng đối với đơn vị tiền tệ trong JavaScript hoặc jQuery?

Có thể truy xuất các thông số này bằng jQuery hoặc JavaScript không?

+0

Bản sao có thể có của [Cách định dạng số và ngày dựa trên cài đặt miền địa phương của người dùng?] (Http://stackoverflow.com/questions/11205873/how-to-format-numbers-and-dates-based-on -user-locale-settings) – Abhitalks

+0

'2343.4. toLocaleString()' sẽ cho bạn thấy số thập phân trong hầu hết các trình duyệt, và hàng nghìn trong ít nhất là chrome ... – dandavis

Trả lời

4

Sử dụng toLocaleString() với style:'currency':

var amount = 123.56; 
 
alert(
 
    'German: ' + amount.toLocaleString('de-DE',{style:'currency',currency:'EUR'}) + ', ' + 
 
    'American: ' + amount.toLocaleString('en-US',{style:'currency',currency:'EUR'}) 
 
); 
 
// German: 123,56 € 
 
// American: €123.56

Lưu ý rằng:

  • Nó không giống như "cài đặt khu vực", nhưng "đầu ra trong cài đặt khu vực".
  • Truy xuất đơn vị tiền tệ tùy thuộc vào trường hợp sử dụng của bạn.
  • Nếu bạn muốn địa phương của mình được xác định động, hãy sử dụng navigator.language.
  • Có nhiều phương tiện khác thay vì cách tiếp cận gốc này; cho người mới bắt đầu, hãy xem accounting.js hoặc Stack Overflow answers like this một.
+1

bò thánh, khi nào nó lẻn vào JS? thậm chí có hỗ trợ IE11. tuyệt vời, thật tuyệt vời. – dandavis

+0

Điều này không trả lời được câu hỏi. Câu hỏi đặt ra là làm thế nào để lấy lại các thiết lập tiền tệ, chứ không phải cách định dạng tiền tệ. – raarts

+0

@raarts: Định dạng là mục tiêu thực tế ("định dạng một số") và vì không có cách nào để xuất các thông số áp dụng, đó là ghi chú đầu tiên tôi đưa ra. Hơn nữa, nếu bạn cần những "tham số khu vực" ở tất cả các chi phí, bạn luôn có thể trích xuất chúng: 'let decimalSeparator = (1.23) .toLocaleString (navigator.language, {style: 'currency', currency: 'EUR'}). (/ 1 (.) 23 /) [1]; '. Tuy nhiên, xin lưu ý rằng tôi đã đưa nó vào quan điểm, chỉ cần đọc "Lưu ý rằng". – dakab

Các vấn đề liên quan