Tôi muốn ứng dụng iPhone của mình cho phép nhập, hiển thị và lưu trữ số tiền bằng cách sử dụng ký hiệu thích hợp ($, €, ₤, ¥, v.v.) cho người dùng.Địa phương hóa đơn vị tiền tệ cho iPhone
NSNumberFormatter có thể làm mọi thứ tôi cần không? Điều gì sẽ xảy ra khi người dùng chuyển miền địa phương của họ và những số tiền này (đô la, yên, vv) được lưu trữ dưới dạng NSDecimalNumbers. Tôi cho rằng, để an toàn, cần phải nắm bắt miền địa phương tại thời điểm nhập cảnh và sau đó là ký hiệu tiền tệ và lưu trữ chúng trong ví dụ của tôi cùng với mã vạch NSDecimalNumber để chúng có thể được mở và hiển thị một cách thích hợp trên đường nếu người dùng thay đổi địa phương của họ kể từ khi mục được tạo ra?
Xin lỗi, tôi có ít trải nghiệm bản địa hóa vì vậy hy vọng sẽ có một vài gợi ý nhanh trước khi đi sâu vào. Cuối cùng, bạn có hiểu biết về cách xử lý loại đầu vào này do giới hạn bàn phím của iPhone không?
Đó là những gì tôi nghĩ. Tôi tò mò điều gì sẽ xảy ra khi người dùng thay đổi miền địa phương của họ sau khi someAmount đã được lưu trữ vào đĩa. IPhone có thể, khá dễ dàng, tìm thấy chính nó ở một quốc gia khác trên một chuyến đi kinh doanh. Nếu người dùng cảm thấy thoải mái với ngôn ngữ địa phương, vv họ có thể thay đổi Locale. Điều gì xảy ra khi đối tượng này bị hủy lưu trữ? Nó sẽ hiển thị là '$ 5,00' như đã được tạo và dự định hay nó sẽ hiển thị là '¥ 5', rõ ràng, có giá trị tiền tệ khác nhau đáng kể nhưng là NSDecimalNumber được định dạng đúng '5.00' khi ngôn ngữ của currencyFormatter là Nhật Bản. – Meltemi
Bạn có thể lưu trữ một sốAmount được định dạng hoặc không định dạng. Nếu bạn lưu trữ nó định dạng, số tiền sẽ luôn luôn phản ánh tiền tệ nó được thực hiện in Nếu bạn lưu trữ nó không định dạng, trình định dạng sẽ chỉ định dạng nó trong miền địa phương hiện tại, nhưng sẽ không làm bất kỳ chuyển đổi! Do đó: '$ 5,00' sẽ trở thành '¥ 5'. Những gì tôi làm trong ứng dụng của tôi là lưu trữ cả tiền tệ chưa định dạng và ngôn ngữ của nó. Bằng cách này, tôi luôn chắc chắn rằng đơn vị tiền tệ được định dạng bằng ngôn ngữ mà nó được tạo ra, nhưng tôi cũng có thể thêm chuyển đổi tiền tệ sau này. – klaaspieter
chỉ bằng cách c/p'ing mã này, tôi nhận được cảnh báo: định dạng không phải là một chuỗi chữ và không có đối số định dạng Tôi có thể không nhận được điều này? – oberbaum