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);
相关推荐
SeaDhdhdhdhdh7 小时前
MCP Server 搭建与使用指南
java·ai·agent·mcp
李妍.7 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy7 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
YH55269847 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
AI_小站8 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
许彰午9 小时前
03-三种开发模式
java·架构
felixking9 小时前
C++20 协程
开发语言·c++·协程
涟漪海洋9 小时前
创建最新的JDK25镜像,非root环境启动
java
Rain的Java大神之路9 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
2602_9599609210 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题