Java中double类型的数据,如何保留小数后两位

在 Java 中,你可以使用 DecimalFormat 类或者 String.format 方法来将 double 类型的数字保留指定位数的小数。以下是两种常用方法的示例:

方法1:使用 DecimalFormat 类

java 复制代码
import java.text.DecimalFormat;

public class Main {
    public static void main(String[] args) {
        double number = 123.456789;
        
        // 创建DecimalFormat对象,指定小数位数
        DecimalFormat df = new DecimalFormat("#.##");
        
        // 使用format方法将double类型的数字保留两位小数
        String formattedNumber = df.format(number);
        
        System.out.println("保留两位小数:" + formattedNumber);
    }
}

方法2:使用 String.format 方法

java 复制代码
public class Main {
    public static void main(String[] args) {
        double number = 123.456789;
        
        // 使用String.format方法将double类型的数字保留两位小数
        String formattedNumber = String.format("%.2f", number);
        
        System.out.println("保留两位小数:" + formattedNumber);
    }
}

无论使用哪种方法,都会将 number 变量的值格式化为保留两位小数的字符串。在上述示例中,123.456789 会被格式化为 123.46。

请注意,这些方法并不会改变 number 变量本身的值,而是返回一个格式化后的字符串。如果需要将格式化后的字符串转换回 double 类型的数字,可以使用 Double.parseDouble 方法或者 Double.valueOf 方法进行转换。例如:

java 复制代码
String formattedNumber = "123.46";
double parsedNumber = Double.parseDouble(formattedNumber);
相关推荐
从琳开始98921 分钟前
网络原理入门(二)------OSI七层模型?TCP/IP五层(四层)模型原来是这样的
java·网络·tcp/ip·java-ee·php
文丑颜不良啊33 分钟前
LeetCode1861~1880题目解析
java·leetcode
Flynn Liang35 分钟前
AgentScope Java 深度解析:ReActAgent、HarnessAgent 与多智能体编排——JVM 上的自治 Agent 底座
java·大模型·架构设计·ai agent·spring ai·langchain4j·agentscope
Flynn Liang1 小时前
上线后怎么排查 AI 调用?Spring AI Observability:token/延迟/成本埋点与全链路追踪
java·人工智能·spring·监控·可观测性·observability·springai
文丑颜不良啊1 小时前
LeetCode1921~1940题目解析
java·leetcode
Tt有了t1 小时前
设计模式速查
java·python·设计模式
Thomas.Sir1 小时前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot
VimorphTech2 小时前
每批开 4 个线程,为什么限制不住 TTS 的总并发?
java·spring boot·spring
Pniubi2 小时前
Java为什么要分堆和栈
java·开发语言
杨凯凡2 小时前
Spring Boot 缓存一致性怎么保证?@Cacheable、@CacheEvict 与事务提交时机实战
java·spring boot·spring cache·后端开发·缓存一致性