Me gustaría que mi aplicación de iPhone permita la entrada, visualización y almacenamiento de cantidades de moneda utilizando el símbolo apropiado ($, €, ₤, ¥, etc.) para el usuario.Localize Currency for iPhone
¿NSNumberFormatter haría todo lo que necesito? ¿Qué sucede cuando un usuario cambia su configuración regional y estos importes (dólares, yen, etc.) se almacenan como NSDecimalNumbers? Supongo que, para estar seguro, es necesario capturar de algún modo la configuración regional en el momento de la entrada y luego el símbolo de moneda y almacenarlos en mi instancia junto con NSivarNúmero ivar para que puedan desenvolverse y mostrarse adecuadamente en el futuro si el usuario cambia su configuración regional desde el momento en que se creó el elemento?
Disculpe, tengo poca experiencia en localización, así que espero un par de consejos rápidos antes de bucear. Por último, ¿tiene alguna idea de cómo manejar este tipo de entrada dadas las limitaciones de los teclados del iPhone?
Eso es lo que pensé. Tengo curiosidad por saber qué sucede cuando el usuario cambia su configuración regional después de que se haya archivado algúnAmount en el disco. El iPhone podría, con bastante facilidad, encontrarse en otro país en un viaje de negocios. Si el usuario se siente cómodo con el idioma local, etc., puede cambiar la configuración regional. ¿Qué sucede cuando este objeto se desarchiva? ¿Se mostrará como '$ 5,00' como fue creado y previsto, o se mostrará como '¥ 5' que, obviamente, tiene un valor monetario significativamente diferente pero es un NSDecimalNumber con formato correcto de '5,00' cuando la configuración regional de currencyFormatter es Japón. – Meltemi
Puede almacenar someAmount formateado o sin formato. Si lo almacena en formato, la cantidad siempre reflejará la moneda en la que se creó. Si lo almacena sin formato, el formateador simplemente lo formateará en la configuración regional actual, pero no realizará ninguna conversión. Por lo tanto: '$ 5,00' se convertirá en '¥ 5'. Lo que hago en mi aplicación es almacenar tanto la moneda no formateada como su configuración regional. De esta forma, siempre estoy seguro de que la moneda está formateada en la configuración regional en la que se creó, pero también puedo agregar la conversión de moneda más adelante. – klaaspieter
simplemente al hacer clic en este código, aparece la advertencia: formato no literal de cadena ni argumentos de formato ¿No puedo obtener esto? – oberbaum