`
liushui1990
  • 浏览: 4668 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BigDecimal处理多位小数

    博客分类:
  • Java
阅读更多

1.保留double的指定位小数

	public double round(double input, int digit) {
		// 构造BigDecimal,注意用new BigDecimal(String)
		BigDecimal bg = new BigDecimal(Double.toString(input));
		return bg.setScale(digit, BigDecimal.ROUND_HALF_UP).doubleValue();
	}

 2.将double数据转换成String型,使数据不以科学计数法的形式表示。

	public  String toPlainString(double d) {
		BigDecimal b = new BigDecimal(Double.toString(d));
		return b.toPlainString();
	}

 3.多位小数求余,类似于%运算符,不过支持浮点数

	public double rem(double base, double divisor, int digit) {
		BigDecimal bgBase = new BigDecimal(Double.toString(base)).setScale(digit, BigDecimal.ROUND_HALF_UP);
		BigDecimal bgDivisor = new BigDecimal(Double.toString(divisor)).setScale(digit, BigDecimal.ROUND_HALF_UP);
		return bgBase.remainder(bgDivisor).setScale(digit, BigDecimal.ROUND_HALF_UP).doubleValue();
	}

 

分享到:
评论

相关推荐

    Java保留两位小数方法大全

    综上所述,Java中保留两位小数的方法有很多种,选择哪种取决于具体的应用场景和需求。对于需要高精度计算的情况,推荐使用`BigDecimal`;而对于简单展示数据的需求,则可以选择`DecimalFormat`或`String.format`等...

    java代码-BigDecimal 四舍五入保留2位小数. 金额从单位分转成单位元

    本示例代码主要关注如何使用BigDecimal进行四舍五入操作,以保留两位小数,并将金额从单位分转换为单位元。下面将详细解释相关知识点。 1. BigDecimal类: BigDecimal是Java提供的一个大数类,它提供了对任意精度...

    java保留两位小数问题

    下面展示了一个示例代码,演示了如何使用`BigDecimal`来保留两位小数并进行四舍五入操作: ```java double f = 111231.5585; BigDecimal b = new BigDecimal(Double.toString(f)); double f1 = b.setScale(2, ...

    bigdecimal转integer.docx

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

    JS小数加减乘除运算后位数增加的解决方案

    JS小数加减乘除运算后小数点后产生多位数和计算精度损失的解决方案

    java中BigDecimal的操作方法

    看似反常的13.6实际上是正确的结果,因为在`ROUND_HALF_DOWN`模式下,它检查小数点后所有位数,而不仅仅是保留的小数位。在13.5500除以5时,实际计算结果是13.5500000...,在四舍五入到第1位时,由于5之后的位数不为...

    js四舍五入-保留两位小数

    在JavaScript中实现四舍五五并保留两位小数的功能是常见的需求之一,特别是在处理财务数据或需要精确显示数值的应用场景下。根据提供的信息,我们将深入探讨如何在JavaScript中实现这一功能,并对比其他语言如Java的...

    BigDecimal向Double转换

    通过这种方式,即使BigDecimal中的值非常大或具有很多小数位,也可以准确无误地转换为Double类型。 ## 三、总结 综上所述,BigDecimal到Double的转换是一项常用的操作,特别是在处理需要高精度计算的应用程序中。...

    javascript版BigDecimal类库

    5. **格式化输出**:可以将`BigDecimal`对象转换为字符串,支持定制小数位数、千位分隔符、货币符号等格式。 6. **数学函数**:提供如平方根(`sqrt`)、指数(`pow`)、取模(`mod`)等数学运算,确保结果的高精度...

    bigdecimal

    在Java编程语言中,当我们处理涉及货币、财务或者任何需要高精度计算的场景时,`BigDecimal` 类是非常重要的工具之一。本文将深入探讨 `BigDecimal` 类的基本概念、特点以及如何使用它来进行精确的算术运算。 #### ...

    BigDecimal工具类.docx

    BigDecimal工具类是Java中用于高精确处理常用数学运算的工具类。该工具类提供了多种精确的数学运算方法,包括加法、减法、乘法和除法等。 在BigDecimal工具类中,我们可以看到多个重载的方法,例如add方法和sub方法...

    BigDecimal.js.zip

    总之,BigDecimal.js是一个强大的JavaScript库,专门用于处理大数的高精度计算,通过引入"BigDecimal-all-last.min.js",开发者可以获得精确的大数运算能力,从而避免JavaScript原生数据类型的精度问题。在开发过程...

    java BigDecimal操作

    例如,`new MathContext(5, RoundingMode.DOWN)`意味着最多5位小数,且向下取整。 `MathExtend.java`这个文件可能是包含了一些扩展的数学操作,比如自定义的舍入方法或者更复杂的BigDecimal运算。在实际开发中,...

    double保留小数

    throw new IllegalArgumentException("保留小数位必须大于等于0!"); } BigDecimal bd = new BigDecimal(Double.toString(dValue)); BigDecimal one = new BigDecimal("1"); return bd.divide(one, scale, ...

    Java中限制小数位数问题

    ### Java中限制小数位数问题 在Java编程中,我们经常会遇到需要处理浮点数的情况,特别是当...在实际开发中,根据项目的具体情况和需求,合理选择并使用这些方法,可以帮助我们更高效地处理各种与小数相关的计算问题。

    MyEditTextApplication输入框BigDecimal计算价格

    本项目“MyEditTextApplication”专注于使用BigDecimal进行输入框内的价格计算,确保计算结果的高度精确,尤其是在处理小数点后的多位数字时。 BigDecimal是Java提供的一个大数类,它可以用来进行精确的浮点数运算...

    BigDecimal-CPP-master.zip

    例如,某些十进制小数无法精确地用有限的二进制位表示,导致在运算过程中可能出现微小的误差。这在进行多次乘法、除法或者累积小数运算时尤为明显,可能会积累成不可忽略的误差。 描述中提到的链接是一个CSDN博客...

    Java与MySQL中小数保存问题解析.pptx.pptx

    在Java和MySQL中,处理小数时需要注意一系列与精度、数据类型选择以及运算准确性相关的问题。首先,让我们深入了解Java中小数的保存方式。 Java提供了两种基本的小数数据类型:float和double。float占用4个字节,...

    java实现小数、百分数值处理组件

    处理小数时,我们可能会遇到舍入问题,这时可以使用`BigDecimal`类,它提供了更精确的浮点数运算,避免了由于浮点数计算的误差导致的结果不准确。 对于小数的四舍五入,Java提供了`Math.round()`方法,它可以将一个...

    Bigdecimal.js

    JavaScript的标准数据类型Number在处理大数或带有许多小数位的数值时,由于其基于IEEE 754标准,最多只能精确到15位小数,这在需要精确计算的场景下是远远不够的。例如,进行金融计算时,哪怕是微小的误差也可能导致...

Global site tag (gtag.js) - Google Analytics