[使用DecimalFormat格式化0以包括小数点

问题描述 投票:0回答:2
import java.math.BigDecimal; 
import java.text.DecimalFormat;

public class HelloWorld{

     public static void main(String []args){
        DecimalFormat df = new DecimalFormat("#.##");
        System.out.println("two  decimals: " + new BigDecimal(df.format(123.435435))) ;
        System.out.println("zero two decimals: " + new BigDecimal(df.format(0.0000))) ;
        System.out.println("zero without a decimal: " + new BigDecimal(df.format(0))) ;
     }
}

输出为:

three decimals: 123.44
zero two decimals: 0
zero without a decimal: 0

现在,DecimalFormat df = new DecimalFormat("#.##");

这是我的应用程序中广泛使用的东西,但是我还没有选择修改它的选项。如何在上述程序中将0打印为0.00?

java decimal decimalformat decimal-point
2个回答
0
投票

您可以使用String.format。

// amount pertains to a variable valued 0
String.format("%.2f", amount);

0
投票

根据here,用'#'格式化将显示为零。您可以改用“ 0”显示零。

请注意,BigIntegers用于需要高精度的计算,例如财务应用。如果只需要打印格式化的数字,则实际上并不需要它们。

  DecimalFormat df = new DecimalFormat("#.##");
  DecimalFormat dfWithZeroes = new DecimalFormat("0.00");
  System.out.println("two  decimals: " + df.format(123.435435)) ;
  System.out.println("zero two decimals: " + dfWithZeroes.format(0.0000)) ;
  System.out.println("zero without a decimal: " + df.format(0)) ;
© www.soinside.com 2019 - 2024. All rights reserved.