Java优雅的保留两位小数

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

可以使用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
相关文章
java判断小数点后是否为0,是的话则取整,不是的话则保留
java判断小数点后是否为0,是的话则取整,不是的话则保留
367 0
|
12天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
60 5
|
4月前
|
Java
Java中将保留四位小数的Double转换为String的方法详解
选择合适的方法,可以使代码更加简洁、高效,同时也能满足不同场景下的需求。
66 5
|
5月前
|
Java
Java的double值保留2位小数
【6月更文挑战第16天】Java的double值保留2位小数
214 0
|
6月前
|
Go Java 算法
Java每日一练(20230404) 买卖股票时机3、分数到小数、出现一次的数字2
Java每日一练(20230404) 买卖股票时机3、分数到小数、出现一次的数字2
39 0
Java每日一练(20230404) 买卖股票时机3、分数到小数、出现一次的数字2
|
6月前
|
Java
Java PDF 相关 1、拷贝多个PDF到一个PDF,并且文件大小变小,文本等信息保留
1、合并多个PDF,并且文件变小,后面添加的文本信息保留
142 0
Java对double值进行四舍五入,保留两位小数的几种方法
Java对double值进行四舍五入,保留两位小数的几种方法
157 1
|
12月前
|
Java UED
Java设计一个简单的能保留计算过程的计算器
Java设计一个简单的能保留计算过程的计算器
|
6天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
3天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
16 9