[英]What's the best design pattern for formatting numbers?
我需要編寫將根據指定的選項格式化值的代碼。
現在可以選擇幾種格式化選項:使用指定的精度舍入/截斷數字,添加前綴(例如$)或后綴(例如%),分組數千(應用逗號),添加數字縮寫(KMB)。
因此,例如,數字1857可以顯示為$ 2K或$ 1.86K或$ 1,867
起初我考慮過使用Decorator模式,但我不確定,因為格式化程序應該按特定順序應用,例如,首先我需要應用KMB轉換:1857 - > 1.857 K,然后將其舍入1.86 K.
你有什么建議嗎?
謝謝,matali
不,使用已經可用的java.text.NumberFormat選項。 他們已經完全國際化了。
假設沒有適合您需求的現有實現,除了Decorator之外還有不同的選項:
如果你可以分解規則中的格式(小數點分隔符,千位分隔符,貨幣),那么每個塊處理規則的責任鏈( http://www.dofactory.com/Patterns/PatternChain.aspx )可以是一個選項,並且您可以按特定訂單運行它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.