簡體   English   中英

格式化數字的最佳設計模式是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM