`
zhouxianglh
  • 浏览: 267356 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

BigDecimal 使用小结

    博客分类:
  • J2SE
阅读更多

在Hibernate 的使用中出了一些小意外.

1  查询中,如针对段查询,通常情况下返回 Ojbect[]   但,如仅仅查询一个字段会返回  Object

 

2  使用SQL查询中Decimal 会生成 BigDecimal.

 

这就是BigDecimal 的用处了.

public class NumberTest {
	public static void main(String[] args) throws Exception {
		//新建 BigDecimal
		BigDecimal bigDecimal = new BigDecimal("12.10");
		//加运算
		BigDecimal addDecimal = bigDecimal.add(new BigDecimal(12.10f));
		//除运算
		BigDecimal divideDecimal = addDecimal.divide(new BigDecimal(12));
		System.out.println(bigDecimal);
		
		//注意 Double 和 float 在Java 中的表示形式
		System.out.println("addDecimal : " + addDecimal);
		System.out.println("divideDecimal : " + divideDecimal);
		System.out.println("addDecimal.doubleValue() : " + addDecimal.doubleValue());
		System.out.println("divideDecimal.intValue() : " + divideDecimal.intValue());
		
		MathContext content = new MathContext(4);
		//negate四舍五入 setScale设置精度
		System.out.println(addDecimal.negate(content).setScale(6));
		
		DecimalFormat format = new DecimalFormat();
		format.applyPattern("#0.0000");
		System.out.println(format.format(divideDecimal));
		//建立百分比格式化引用  DecimalFormat 是NumberFormat 的子类 
		NumberFormat percent = DecimalFormat.getPercentInstance();
		System.out.println("divideDecimal : " + divideDecimal);
		System.out.println(percent.format(divideDecimal));
	}
}

 BigDecimal 就这些吧.

分享到:
评论

相关推荐

    BigDecimal 总结

    BigDecimal 使用方法小节:包含构造方法及和、差、商、积等运算方式

    bigdecimal

    本文将深入探讨 `BigDecimal` 类的基本概念、特点以及如何使用它来进行精确的算术运算。 #### 一、基本概念 `BigDecimal` 类提供了一种可以进行任意精度定点数算术的方法。这意味着它可以存储一个数值的任意小数...

    bigdecimal转integer.docx

    如果 `BigDecimal` 包含小数,但你想保留小数位并将小数部分转化为整数,可以先使用 `setScale()` 方法调整小数位,然后再调用 `intValue()`。例如: ```java BigDecimal bigDecimal = new BigDecimal(1.25); ...

    BigDecimal向Double转换

    - **避免浮点数运算误差**:在处理涉及小数点的运算时,使用BigDecimal可以避免由浮点数运算带来的误差问题。 ## 二、BigDecimal到Double的转换 ### 2.1 使用doubleValue()方法 最简单的方式是通过BigDecimal类...

    BigDecimal的计算

    本文将基于提供的代码片段来详细解释如何使用 `BigDecimal` 进行计算,并深入探讨其应用场景。 #### 关键知识点 ##### 1. BigDecimal 类的概述 `BigDecimal` 是 Java 中的一个类,它能够提供对任意精度的十进制数...

    将 BigDecimal 类型转换为 Integer 类型.pdf

    总结,Java 中将 BigDecimal 转换为 Integer 需要考虑数值范围限制,当值过大时,可以借助 BigInteger 类进行转换。在实际编程中,应根据具体需求选择合适的转换方法,并注意处理可能出现的异常情况,确保程序的健壮...

    关于java中BigDecimal的简介(csdn)————程序.pdf

    Java中的`BigDecimal`类是用于表示和操作高精度...总结,`BigDecimal`在Java中扮演了高精度计算的重要角色,尤其是在金融、会计等领域。通过使用其提供的方法,开发者可以确保在进行数值计算时获得准确无误的结果。

    Java BigDecimal类用法详解

    - `BigDecimal(double val)`:使用double值构造BigDecimal时,由于double的精度问题,可能会导致非预期的结果,如示例中的1.22被转换成了1.219999999999999973。 - `BigDecimal(String val)`:推荐使用此构造方法...

    介绍Java的大数类(BigDecimal)和八种舍入模式

    总结起来,Java的BigDecimal类是处理高精度计算的关键工具,它解决了浮点数精度问题,提供了丰富的舍入策略,以确保财务和其他需要精确计算的场景下的正确性。在实际开发中,尤其是在涉及金钱交易或需要精确数值的...

    Java BigDecimal和double示例及相关问题解析

    本文主要介绍了 Java 中的 BigDecimal 和 double 的示例及相关问题解析,展示了 BigDecimal 的常用方法和使用示例,展示了使用 BigDecimal 进行四则运算的示例,最后总结了 BigDecimal 的优点。

    Java中BigDecimal类与int、Integer使用总结

    总结起来,Java的`BigDecimal`类是解决浮点数精度问题的理想选择,尤其在商业计算中。它提供了丰富的API用于精确的数学运算,但使用时需注意构造器的选择和类型转换的正确操作。同时,应避免在不必要的场合使用...

    java中double转化为BigDecimal精度缺失的实例

    总结起来,`BigDecimal`是Java中用于高精度数学计算的类,适合处理财务、货币或其他需要精确数值计算的场景。而`double`和`float`则适用于对精度要求不高的科学计算。在使用`BigDecimal`时,需要注意其构造方法和...

    java代码-BigDecimal转String

    总结一下,`BigDecimal`到`String`的转换主要涉及`toString()`、`DecimalFormat`以及`NumberFormat`。在处理金融计算时,确保精度是至关重要的,而`BigDecimal`和相关的转换方法可以帮助我们实现这一点。理解这些...

    Java中使用BigDecimal进行浮点数运算

    总结来说,Java中的`BigDecimal`类是解决浮点数精度问题的关键工具。通过使用`BigDecimal`,开发者可以确保在进行高精度数学运算时得到准确的结果。然而,由于每次运算都会创建新的对象,所以在性能敏感的场景下,...

    javaSE基础常用类使用归纳总结

    ### Java SE 基础常用类使用归纳总结 在Java编程语言中,了解并熟练掌握常用的类是非常重要的,这些类提供了丰富的功能,可以帮助开发者高效地完成各种任务。本篇文章将针对给定文件中的内容,详细解释Java SE基础...

    calculadora-emjava:Uma后端参数实现了Matmaticas com BigDecimal

    总结来说,"Calculadora-emjava"项目展示了如何使用Java的BigDecimal类来构建一个安全、精确的数学计算服务。通过理解BigDecimal的特性,我们可以为需要高精度计算的业务场景提供可靠的解决方案。同时,项目也涉及到...

    DecimalFormat精度解决,商业运算精度问题

    - `BigDecimal(String val)`:推荐使用字符串的方式创建`BigDecimal`对象,以确保精度不丢失。 ```java BigDecimal bd1 = new BigDecimal("0.1"); // 推荐使用 BigDecimal bd2 = new BigDecimal(0.1); // 不...

    Java Double 精度问题总结

    ### Java Double 精度问题总结 在Java编程语言中,`double` 类型是一种用于表示64位浮点数的原始数据类型。虽然 `double` 提供了相对较高的精度,但在涉及精确数学运算(特别是涉及到小数值)时,由于其内部采用二...

    javaInteger大数据运算.pdf

    总结来说,Java中的`BigInteger`和`BigDecimal`是处理大数据和高精度计算的关键工具。它们允许开发者在需要精确结果时,不受标准整数和浮点数类型精度限制的影响,从而保证计算的正确性和可靠性。在进行涉及货币计算...

    double保留小数

    1. **使用`Double.toString()`**:在创建`BigDecimal`对象时,使用`Double.toString()`而不是直接使用`double`值,可以避免精度损失。 2. **异常处理**:当提供的`scale`小于0时,应该抛出异常,以防止程序出现错误...

Global site tag (gtag.js) - Google Analytics