2010-03-23 2 views
2

Это может быть вопрос ниши, но я работаю с ICU для форматирования строк валюты. Я столкнулся с ситуацией, которую я не совсем понимаю.Можете ли вы получить доступ к NumberFormatter, используемому ICU MessageFormat

При использовании класса MesssageFormat можно получить доступ к объекту NumberFormat, который он использует для форматирования строк валюты. Когда вы создаете экземпляр NumberFormat самостоятельно, вы можете указать такие атрибуты, как точность и округление, используемые при создании строк валюты.

У меня проблема, когда для южнокорейского языка («ko_KR») класс MessageFormat создает строки валют с округлением (100.50 -> ₩ 100).

В областях, где я использую NumberFormat напрямую, я устанавливаю setMaximumFractionDigits и setMinimumFractionDigits равным 2, но я не могу установить это в MessageFormat.

Любые идеи?

ответ

0

Я определил, что получить доступ к внутренней форматировщиком используется не представляется возможным. Я открыл билет с проектом ICU. http://bugs.icu-project.org/trac/ticket/7571#preview

+0

Это ответ, это просто не решение. Это предназначено для руководства для тех, кто приземляется на этой странице с помощью поиска по этой проблеме в Google. – Ternary

0

Возможно, потому что один корейский вон стоит $ 0,00088. У них нет копейки.

Та же самая идея с франком, 1 сантим монеты перестали быть законным платежным средством в 2007 году

+0

Спокойно. Хотя, как я уже упоминал, независимо от реальной стоимости, если языковой стандарт валюты не определен, чтобы иметь округление (швейцарский франк - это только корейский выигрыш), я не ожидаю, что он округляется. – Ternary

Смежные вопросы