Java中double数值保留两位小数的4种实现方式举例

 更新时间:2024年07月23日 09:13:14   作者:令人作呕的溏心蛋  
在Java编程中,我们经常遇到需要对double类型的浮点数进行精确截断或四舍五入保留两位小数的需求,这篇文章主要给大家介绍了关于Java中double数值保留两位小数的4种实现方式,需要的朋友可以参考下

 使用 DecimalFormat 类:

import java.text.DecimalFormat;

double number = 123.456789;
DecimalFormat df = new DecimalFormat("#.##");
String formattedNumber = df.format(number);
System.out.println("Formatted Number: " + formattedNumber);

使用 String.format() 方法:

double number = 123.456789;
String formattedNumber = String.format("%.2f", number);
System.out.println("Formatted Number: " + formattedNumber);

使用 BigDecimal 类:

import java.math.BigDecimal;

double number = 123.456789;
BigDecimal bd = new BigDecimal(number);
BigDecimal roundedNumber = bd.setScale(2, BigDecimal.ROUND_HALF_UP); // 设置保留两位小数并四舍五入
System.out.println("Formatted Number: " + roundedNumber);

使用 Math.round() 方法:

double number = 123.456789;
double roundedNumber = Math.round(number * 100.0) / 100.0; // 保留两位小数并四舍五入
System.out.println("Formatted Number: " + roundedNumber);

附:不四舍五入直接保留两位小数

①:DecimalFormat转换(创建DecimalFormat类对象)

import java.text.DecimalFormat;   //注意导包

double num = 520.1314;
DecimalFormat df = new DecimalFormat("0.00");
String format = df.format(num);
System.out.println(format);

②:创建NumberFormat对象

import java.text.NumberFormat;

double num = 520.4444;
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2); // 不足两位不补0,超过两位部分的自动舍去
//nf.setMinimumFractionDigits(2); 不足两位自动补0,超过两位的部分不舍去
System.out.println(nf.format(num));

总结 

到此这篇关于Java中double数值保留两位小数的4种实现方式的文章就介绍到这了,更多相关Java double数值保留两位小数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • maven 在执行package,install,deploy时使用clean与不使用clean的不同之处

    maven 在执行package,install,deploy时使用clean与不使用clean的不同之处

    有时候用mvn install后,新改的内容不生效,一定要后来使用mvn clean install 才生效,由于之前没有做记录,以及记不清是什么情况下才会出现的问题,于是想看看clean和不clean的区别,感兴趣的朋友跟随小编一起看看吧
    2021-08-08
  • 使用logstash同步mysql数据到elasticsearch实现

    使用logstash同步mysql数据到elasticsearch实现

    这篇文章主要为大家介绍了使用logstash同步mysql数据到elasticsearch实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • java selenium教程之selenium详细介绍

    java selenium教程之selenium详细介绍

    本文主要介绍Java selenium,这里整理了selenium的一些基本资料,此软件主要用于Web UI自动测试框架,有兴趣的同学可以看一下
    2016-08-08
  • Java web velocity分页宏示例

    Java web velocity分页宏示例

    这篇文章主要介绍了Java web velocity分页宏示例,需要的朋友可以参考下
    2014-03-03
  • 详解如何在SpringBoot项目中使用全局异常处理

    详解如何在SpringBoot项目中使用全局异常处理

    在完整的项目开发中,异常的出现几乎是无法避免的;如果凡是有可能出现异常的地方,我们都手动的使用try-catch将其捕获的话,会使得代码显得十分臃肿并且后期不好维护。本文介绍了pringBoot项目中使用全局异常处理的方法,需要的可以参考一下
    2022-10-10
  • java部署项目流程几种常见方式详解

    java部署项目流程几种常见方式详解

    部署Java项目通常有几种常见的方法,具体选择哪种方法取决于项目需求、资源、团队习惯等因素,这篇文章主要介绍了java部署项目流程几种常见方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • Java中Stream流的map方法示例详解

    Java中Stream流的map方法示例详解

    本文给大家介绍Java中Stream流的map方法,包括该方法的定义、语法、示例、注意事项、应用场景以及与其他Stream方法的结合使用,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Spring Boot 实现字段唯一校验功能(实例代码)

    Spring Boot 实现字段唯一校验功能(实例代码)

    这篇文章主要介绍了Spring Boot 实现字段唯一校验,实现代码很简单,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Java读写锁ReadWriteLock原理与应用场景详解

    Java读写锁ReadWriteLock原理与应用场景详解

    这篇文章主要介绍了Java读写锁ReadWriteLock原理与应用场景详解,读写状态的设计,写锁的获取与释放,锁降级需要的朋友可以参考下
    2023-02-02
  • SpringBoot整合mybatisplus和druid的示例详解

    SpringBoot整合mybatisplus和druid的示例详解

    这篇文章主要介绍了SpringBoot整合mybatisplus和druid的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08

最新评论