我需要编写根据指定选项格式化值的代码。
现在可以选择几种格式化选项:使用指定的精度舍入/截断数字,添加前缀(例如$)或后缀(例如%),分组数千(应用逗号),添加数字缩写(KMB) )。
所以,例如数字1857可以显示为$ 2K或$ 1.86K或$ 1,867
起初我考虑过使用装饰器模式,但我不确定,因为格式化程序应该以特定的顺序应用,例如。起初我需要申请九巴转换:1857 - > 1.857 K,然后围绕1.86 K.
你有什么建议吗?
谢谢,matali
答案 0 :(得分:12)
不,使用已经可用的java.text.NumberFormat选项。他们已经完全国际化了。
答案 1 :(得分:0)
假设没有适合您需求的现有实现,除了Decorator之外还有不同的选项:
如果您可以分解规则中的格式(小数点分隔符,千位分隔符,货币),那么每个块处理规则的责任链(http://www.dofactory.com/Patterns/PatternChain.aspx)可以是一个选项,您可以在特定的顺序。