JAVA 保留小数的4种方法

简介: 简单介绍JAVA 保留小数的4种方法

方法一:String的format方法(推荐)

double f = 111231.5585;

System.out.println(String.format("%.2f", f));

方法二:DecimalFormat的format方法

double f = 111231.5585;

DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));

方法三:BigDecimal的setScale方法

double f = 111231.5585;

BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);

方法四:NumberFormat的setMaximumFractionDigits方法

double f = 111231.5585;

NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));

代码:

1 import java.math.BigDecimal;
2 import java.text.DecimalFormat;
3 import java.text.NumberFormat;
4 public class format {
5 double f = 111231.5585;
6 public void m1() {
7 BigDecimal bg = new BigDecimal(f);
8 double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
9 System.out.println(f1);
10 }
11 /**
12 * DecimalFormat转换最简便
13 */
14 public void m2() {
15 DecimalFormat df = new DecimalFormat("#.00");
16 System.out.println(df.format(f));
17 }
18 /**
19 * String.format打印最简便
20 */
21 public void m3() {
22 System.out.println(String.format("%.2f", f));
23 }
24 public void m4() {
25 NumberFormat nf = NumberFormat.getNumberInstance();
26 nf.setMaximumFractionDigits(2);
27 System.out.println(nf.format(f));
28 }
29 public static void main(String[] args) {
30 format f = new format();
31 f.m1();
32 f.m2();
33 f.m3();
34 f.m4();
35 }
36 }

相关文章
|
6天前
|
Java
Java的方法详解
Java的方法是类中的重要组成部分,用于定义类的行为。方法可以接收参数、执行操作并返回结果。其基本语法包括返回类型、方法名、参数列表和方法体。方法支持重载,即同名但参数不同的多个方法;静态方法则直接通过类名调用,无需实例化。此外,Java还支持可变参数,允许方法接收不定数量的参数。通过访问修饰符如`public`、`protected`、`private`,可以控制方法的可见性。方法是实现类功能的基本单元,增强了程序的灵活性和复用性。
|
27天前
|
Java
Java系列之 重命名文件/图片,renameTo() 方法的使用
这篇文章介绍了Java中File类的renameTo()方法,包括其使用方式、参数、返回值以及一些使用时的注意事项,并通过示例代码演示了如何使用该方法来重命名文件。
Java系列之 重命名文件/图片,renameTo() 方法的使用
|
13天前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
18天前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
28 5
|
20天前
|
安全 Java 开发者
【技术咖必看】Java异常处理新境界:throws关键字,打造万无一失的方法签名!
【技术咖必看】Java异常处理新境界:throws关键字,打造万无一失的方法签名!
30 3
|
20天前
|
安全 Java 程序员
【程序猿逆袭指南】Java高手的秘密武器:throws关键字,让你的方法签名霸气侧漏!
【程序猿逆袭指南】Java高手的秘密武器:throws关键字,让你的方法签名霸气侧漏!
14 3
|
21天前
|
Java Spring 容器
Java获取接口的所有实现类方法
这篇文章介绍了在Java中获取接口所有实现类的方法,包括使用JDK的ServiceLoader(SPI机制)和Spring Boot中的@Autowired自动注入及ApplicationContextAware接口两种方式。
42 1
|
22天前
|
监控 Java API
提升 Java 后台性能的十大方法
提升 Java 后台性能的十大方法
31 2
|
26天前
|
Java
|
26天前
|
安全 Java 测试技术
Java 中的阻塞方法
【8月更文挑战第22天】
22 4