格式化数字的最佳设计模式是什么?

时间:2009-01-26 20:59:54

标签: java design-patterns formatting

我需要编写根据指定选项格式化值的代码。

现在可以选择几种格式化选项:使用指定的精度舍入/截断数字,添加前缀(例如$)或后缀(例如%),分组数千(应用逗号),添加数字缩写(KMB) )。

所以,例如数字1857可以显示为$ 2K或$ 1.86K或$ 1,867

起初我考虑过使用装饰器模式,但我不确定,因为格式化程序应该以特定的顺序应用,例如。起初我需要申请九巴转换:1857 - > 1.857 K,然后围绕1.86 K.

你有什么建议吗?

谢谢,matali

2 个答案:

答案 0 :(得分:12)

不,使用已经可用的java.text.NumberFormat选项。他们已经完全国际化了。

答案 1 :(得分:0)

假设没有适合您需求的现有实现,除了Decorator之外还有不同的选项:

如果您可以分解规则中的格式(小数点分隔符,千位分隔符,货币),那么每个块处理规则的责任链(http://www.dofactory.com/Patterns/PatternChain.aspx)可以是一个选项,您可以在特定的顺序。