2017-07-28
JAVA中如何控制double和
篇介绍了在JAVA中如何对double或者float的浮点数进行精度计算,在JAVA中提供了多种参数来实现精度的不同控制方式。具体例子如下: 转自http://stephen830。javaeye。 com/blog/260776 Java代码 /* * Created on 2005-6-5 * Author stephen * Email zhoujianqiang AT gmail DOT com * CopyRight(C)2005-2008 , All rights reserved。 */ package com。soft4j。utility; imp...全部
篇介绍了在JAVA中如何对double或者float的浮点数进行精度计算,在JAVA中提供了多种参数来实现精度的不同控制方式。具体例子如下: 转自http://stephen830。javaeye。
com/blog/260776 Java代码 /* * Created on 2005-6-5 * Author stephen * Email zhoujianqiang AT gmail DOT com * CopyRight(C)2005-2008 , All rights reserved。
*/ package com。soft4j。utility; import java。math。BigDecimal; /** * 与小数位精度(四舍五入等)相关的一些常用工具方法。
* * float/double的精度取值方式分为以下几种: * java。math。BigDecimal。ROUND_UP * java。math。BigDecimal。ROUND_DOWN * java。
math。BigDecimal。ROUND_CEILING * java。math。BigDecimal。ROUND_FLOOR * java。math。BigDecimal。ROUND_HALF_UP * java。
math。BigDecimal。ROUND_HALF_DOWN * java。math。BigDecimal。ROUND_HALF_EVEN * * @author stephen * @version 1。
0。0 */ public final class RoundTool { /** * 对double数据进行取精度。 *
* For example: * double value = 100。
345678; * double ret = round(value,4,BigDecimal。ROUND_HALF_UP); * ret为100。3457 * * @param value * double数据。
* @param scale * 精度位数(保留的小数位数)。 * @param roundingMode * 精度取值方式。 * @return 精度计算后的数据。
*/ public static double round(double value, int scale, int roundingMode) { BigDecimal bd = new BigDecimal(value); bd = bd。
setScale(scale, roundingMode); double d = bd。doubleValue(); bd = null; return d; } 。收起