首页 > 基础资料 博客日记
BigDecimal类型转换成Integer类型
2025-06-17 17:30:01基础资料围观9次
本篇文章分享BigDecimal类型转换成Integer类型,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识
在 Java 里,若要把BigDecimal
类型转换为Integer
类型,可借助intValue()
或者intValueExact()
方法。下面为你介绍这两种方法的具体使用以及它们之间的差异。
1. 采用intValue()
方法(不进行溢出检查)
这种方法会把
BigDecimal
转换为int
基本类型,要是BigDecimal
超出了int
的范围,就会对结果进行截断处理。import java.math.BigDecimal; public class BigDecimalToIntegerExample { public static void main(String[] args) { // 示例1:数值在int范围内 BigDecimal bd1 = new BigDecimal("12345"); int intValue1 = bd1.intValue(); Integer integer1 = Integer.valueOf(intValue1); System.out.println("转换结果1: " + integer1); // 输出: 12345 // 示例2:数值超出int范围(会进行截断) BigDecimal bd2 = new BigDecimal("2147483648"); // 比Integer.MAX_VALUE大1 int intValue2 = bd2.intValue(); // 截断后会得到一个负数 Integer integer2 = Integer.valueOf(intValue2); System.out.println("转换结果2: " + integer2); // 输出: -2147483648 } }
2. 使用intValueExact()
方法(进行溢出检查)
BigDecimal bd = new BigDecimal("12.9"); int result = bd.intValue(); // 结果为12
如果你需要进行四舍五入,可以先使用setScale()
方法进行处理:
BigDecimal bd = new BigDecimal("12.9"); BigDecimal rounded = bd.setScale(0, BigDecimal.ROUND_HALF_UP); // 四舍五入为13 int result = rounded.intValueExact(); // 结果为13
文章来源:https://www.cnblogs.com/lymblog/p/18933294
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:几分钟了解下java虚拟机--01
下一篇:没有了