簡體   English   中英

使用DecimalFormat格式化美元值

[英]Formatting Dollar Value with DecimalFormat

我需要顯示具有以下要求的美元價值。

  1. 如果該值小於一美元,則放置前導零。 例如0.55
  2. 如果該值沒有美分,則放置兩個尾隨零。 例如100.00
  3. 這是棘手的部分。 該值可能小於一美分,在這種情況下,應原樣打印。 例如0.005

有可能用DecimalFormat實現嗎? 如果不是最后一個要求,則可以使用“ 0.00”模式,但是我不確定如何最后一個。

您可以嘗試使用if語句並重新聲明DecimalFormat:

if(num < 0.01 && num != 0)
    DecimalFormat dec = new DecimalFormat("$#,##0.000");

但是,這是蠻力的,不知道DecimalFormat中是否有任何模式可以直接更改它。

我知道了,有點。 為此,您需要知道十進制數字的最大計數。 對於我的需求,該值最多可以包含3個十進制數字,因此“ 0.00#”模式可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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