Java优雅的保留两位小数

可以使用Java中的DecimalFormat类来保留一个浮点数或双精度数的两位小数。

下面是一个示例代码:

double number = 123.456789;
DecimalFormat decimalFormat = new DecimalFormat("#.##");
String formattedNumber = decimalFormat.format(number);
System.out.println(formattedNumber);

在这个示例中,我们首先定义一个双精度数变量number,其值为123.456789。

然后,我们创建一个DecimalFormat对象,并使用字符串"#.##"来定义格式化规则,即保留两位小数。

接着,我们使用DecimalFormat的format()方法来格式化number,并将结果存储在字符串formattedNumber中。

需要注意的是,DecimalFormat.format()方法返回的是一个字符串,而非一个数字。如果您需要在代码中进一步使用这个数字,需要先将其转换为double类型。例如,可以使用Double.parseDouble(formattedNumber)方法来实现转换。


DecimalFormat类是Java中的一个用于格式化数字的类。它可以按照指定的规则将数字格式化成特定的样式,例如保留几位小数、添加千位分隔符等。DecimalFormat类的常见用法包括:

  1. 格式化数字的小数位数:
double number = 123.456789;
   DecimalFormat decimalFormat = new DecimalFormat("#.##");
   String formattedNumber = decimalFormat.format(number);
   System.out.println(formattedNumber); // 输出:123.46
  1. 添加千位分隔符:
double number = 1234567.8901;
   DecimalFormat decimalFormat = new DecimalFormat("#,###.##");
   String formattedNumber = decimalFormat.format(number);
   System.out.println(formattedNumber); // 输出:1,234,567.89
  1. 设置数字的前缀和后缀:
double number = 123.456;
   DecimalFormat decimalFormat = new DecimalFormat("###,###.## USD");
   String formattedNumber = decimalFormat.format(number);
   System.out.println(formattedNumber); // 输出:123.46 USD
  1. 根据Locale设置千位分隔符和小数点:
double number = 1234567.8901;
   DecimalFormat decimalFormat = new DecimalFormat("#,###.##", DecimalFormatSymbols.getInstance(Locale.FRANCE));
   String formattedNumber = decimalFormat.format(number);
   System.out.println(formattedNumber); // 输出:1 234 567,89

猜你喜欢

转载自blog.csdn.net/zl18603543572/article/details/130585062