Java库以本地化方式“拼出”数字

时间:2009-09-03 23:52:34

标签: java localization formatting

我正在寻找能够将数字格式化为指定语言环境的单词的java库(例如,17 = 17,1023 = en_US为1.23)。

我需要使用货币金额,因此需要支持小数部分。我在Google上找到的唯一内容是ICU project,尤其是this class。它看起来有些不确定(我还没有真正尝试过,完全由文档判断)。有没人用过它?那里有更好的东西吗?

2 个答案:

答案 0 :(得分:1)

我想,挖掘http://www.jonelo.de/java/nc/index.html的源代码可能会发现一些能够完成你所追求的东西。它必须具有类似的功能才能完成它的工作。

答案 1 :(得分:-4)

为什么不写自己的?

就编程项目而言,这并不是那么难。

至于本地化,不要太担心。大多数语言使用或多或少相同类型的系统来将数字表示为单词。您可能遇到的唯一问题是:

  • 字顺序:是24“二十四”还是“四十二”?很容易切换一行代码来处理这两种代码。
  • 不规则数字,例如英语为11到19,西班牙语为11到29,依此类推。您可以使用查找表来处理这些异常,并使用常规方法来处理这些异常。
  • 数百万和数十亿:某些语言使用数百万和数十亿的英语,但有些语言使用10,000或100,000或其他数字的分组。我会使用另一个查找表来处理这些。

如果你能用英语做到这一点,那么将代码改为几乎任何语言并不困难。