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

提供精确的小数位四舍五入处理

    博客分类:
  • java
 
阅读更多
提供精确的小数位四舍五入处理,这个工具类很实用!

/*
* <p>Title: 提供精确的小数位四舍五入处理</p>
* <p>Description: 提供精确的小数位四舍五入处理</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: ***</p>
*/
package com.neusoft.others;

import Java.math.BigDecimal;

/**
* 类Round.java的实现描述:提供精确的小数位四舍五入处理 
*
* @author wangdw wang8121@hotmail.com
* @version 1.0
* Date 2005-1-14
* @see java.lang.Class
* History:
* <author> <time> <version> <desc>
*/
public class Round
{
/**
* 提供精确的小数位四舍五入处理。
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
private double round(double v, int scale)
{
if (scale < 0)
{
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}

BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}

/**
* 
* 非四舍五入取整处理
* @param v
* @return
*/
public int roundDown(double v)
{
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, 0, BigDecimal.ROUND_DOWN).intValue();
}

/**
* 
* 四舍五入取整处理
* @param v
* @return
*/
public int roundUp(double v)
{
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, 0, BigDecimal.ROUND_UP).intValue();
}

public static void main(String[] args)
{
Round round = new Round();

System.out.println(round.round(18.456, 2));

System.out.println(round.roundDown(18.567));

System.out.println(round.roundUp(18.567));

double doubleValue = 18.567;

int intValue = (int)doubleValue;

System.out.println(intValue);

}

 

分享到:
评论

相关推荐

    C# 截取小数,不四舍五入

    在C#编程中,有时我们需要对浮点数进行处理,特别是在财务计算或数据展示时,可能需要截取小数部分,而不是使用默认的四舍五入规则。这涉及到数值类型的精度控制和格式化技巧。本篇文章将深入探讨如何在C#中实现这个...

    金额的大小转换及小数的四舍五入处理

    在处理金融数据时,精确到一定小数位的四舍五入操作是必需的,以避免因精度问题导致的计算误差。在Python中,我们可以使用内置的`round`函数,但在处理金钱时,最好使用`decimal`模块,因为它提供了更高精度的浮点数...

    excel中四舍五入的三种方法的比较

    1. **精度**:ROUND函数提供最精确的四舍五入,而INT与乘法的组合仅适用于整数四舍五入。 2. **复杂性**:ROUND函数最简单,MID与FIND组合较为复杂,INT与乘法的组合介于两者之间。 3. **数据类型**:如果处理的是纯...

    Delphi四舍五入

    Delphi 中的四舍五入函数 `FloatDigit` 可以有效地帮助开发者对浮点数进行精确控制。通过对输入参数的灵活设置,可以轻松实现不同精度的四舍五入处理。此外,通过对代码的深入理解,还可以根据具体应用场景进行...

    Delphi 自已写的四舍五入函数

    在编程领域,尤其是在 Delphi 这样的面向对象的 Pascal 编程环境中,有时标准库提供的四舍五入函数可能无法满足特定需求,特别是在处理财务数据时。标准的四舍五入算法可能会导致非预期的结果,因为它们通常遵循银行...

    原创:在VB下实现指定位数四舍五入

    例如,如果你有变量`x = 3.14159`,你可以用`Round(x, 2)`将其四舍五入到两位小数,得到`3.14`。 然而,`Round`函数在处理边缘情况时可能不符合某些特定需求,例如它遵循银行家舍入规则,在四舍五入到最接近的偶数...

    四舍五入?四舍六入!

    四舍五入是数据处理中一种常见的舍入方法,目的是为了简化数值的表示,使之更加便于阅读和计算。在单片机和C语言编程中,由于计算精度和硬件资源的限制,正确地使用四舍五入变得尤为重要。但传统的四舍五入方法存在...

    四舍五入_四舍五入问题_源码

    在编程和计算机科学中,"四舍五入"是一个常见的概念,用于处理浮点数或小数,并将它们转换为最接近的整数。在这个场景中,标题"四舍五入_四舍五入问题_源码"暗示我们将讨论如何在编程中实现四舍五入操作,特别是与...

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

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

    c#将带有小数点的数值四舍五入为整数

    本文将详细探讨如何在C#中使用`Math.Round`函数进行四舍五入操作,并提供相关的代码示例和注意事项,以帮助开发者更好地理解和应用这一重要的数值处理技术。 ### C#中的`Math.Round`函数 `Math.Round`是C#中Math类...

    关于delphi中真正四舍五入的问题

    虽然这种方式能够达到四舍五入的效果,但它并不是一个纯粹的数值处理函数,不建议在需要精确数值计算的地方使用。 3. **`Trunc`函数**: `Trunc`函数的作用是从一个浮点数中截断所有的小数部分,只保留整数部分。...

    数学运算中的四舍五入

    四舍五入是一种常见的数值处理方法,主要用于简化数字表示或确保计算精度。该方法规定:当需要对一个数字进行取整时,如果小数部分小于0.5,则向下取整;如果小数部分等于或大于0.5,则向上取整。 #### 四舍五入在...

    C语言四舍五入的函数

    它接受一个双精度浮点数`t`和一个整数`n`作为参数,`t`代表要进行四舍五入操作的数字,而`n`则表示四舍五入到小数点后第`n`位。函数内部首先利用`n_hundred()`函数计算出10的`n`次幂,然后将其与`t`相乘,转换成整数...

    Javascript四舍五入(二)源码

    ### JavaScript 四舍五入...其中,`Math.round()`结合乘除法是最标准且最常用的四舍五入实现方式,而其他方法虽然实现简单但主要应用于展示而非精确计算的场合。在实际开发中,根据具体需求选择最合适的方法至关重要。

    四舍五入中小数位问题

    ### 四舍五入中小数位问题:深入探讨与科学解决方案 #### 一、四舍五入的传统理解及其局限性 在数学运算中,四舍五入是一种常见的处理小数精度的方法,尤其当数据需要简化或适配特定显示格式时。传统上,四舍五入...

    delphi四舍五入例子

    在Delphi编程环境中,四舍五入操作是一个常见的数学需求,尤其在处理浮点数时。标题"delphi四舍五入例子"表明我们将探讨如何在Delphi中进行四舍五入的操作。描述中提到“一直没有好的控件”,暗示可能在寻找一种...

    python 实现四舍五入功能

    在Python编程语言中,实现四舍五入功能是非常常见的需求,这主要涉及到数值处理和浮点数精度控制。本文将详细讲解如何在Python中进行四舍五入操作,并探讨相关的重要知识点。 首先,Python提供了内置的`round()`...

    java 四舍五入 需要的朋友看看

    对于负数的四舍五入,`BigDecimal`同样可以提供精确控制。只需传入负数作为`BigDecimal`的构造函数参数即可。 示例代码如下: ```java double i = -3.856; System.out.println("四舍五入(-3.856)=" + new ...

    Javascript四舍五入Math.round()与Math.pow()使用介绍

    在本文中,我们将介绍JavaScript中的两个重要数学函数...此外,自定义的四舍五入方法也提供了一种灵活处理数字的有效途径。在编程实践中,了解和运用这些基础函数和技巧,将有助于编写更加稳定和精确的JavaScript代码。

Global site tag (gtag.js) - Google Analytics