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);
相关推荐
程序员清风1 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme1 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better1 小时前
学会与虚拟机对话---ASM
java
开源之眼4 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori3165 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602735 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋5 小时前
DecimalFormat 与 BigDecimal
java·后端
beata5 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家5 小时前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云5 小时前
SpringBoot 的自动配置原理
java