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

关于java 中double型数据的四舍五入与加减乘除

阅读更多
  1. java中用DecimalFormat df = new DecimalFormat("#######0.00");进行四舍五入时,如果最后一位为5,则会直接舍掉,而不会入上去。如:12.515,得到得结果将是12.51。解决方法:   
  2. blic static double round(double v,int scale){   
  3.       if(scale<0){   
  4.           throw new IllegalArgumentException(   
  5.               "The scale must be a positive integer or zero");   
  6.       }   
  7.       BigDecimal b = new BigDecimal(Double.toString(v));   
  8.       BigDecimal one = new BigDecimal("1");   
  9.       return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();   
  10.   }   
  11.   java中的浮点数类型floatdouble不能进行运算,遇到有些数据得到的数据不准确。如:3.121-1=3.1209999999998。解决方法:   
  12. blic class Arith {   
  13.   private static final int DEF_DIV_SCALE = 10;   
  14.      
  15.   /**  
  16.    * 两个Double数相加  
  17.    * @param v1  
  18.    * @param v2  
  19.    * @return Double  
  20.    */  
  21.   public static Double add(Double v1,Double v2){   
  22.       BigDecimal b1 = new BigDecimal(v1.toString());   
  23.       BigDecimal b2 = new BigDecimal(v2.toString());   
  24.       return b1.add(b2).doubleValue();   
  25.   }   
  26.      
  27.   /**  
  28.    * 两个Double数相减  
  29.    * @param v1  
  30.    * @param v2  
  31.    * @return Double  
  32.    */  
  33.   public static Double sub(Double v1,Double v2){   
  34.       BigDecimal b1 = new BigDecimal(v1.toString());   
  35.       BigDecimal b2 = new BigDecimal(v2.toString());   
  36.       return b1.subtract(b2).doubleValue();   
  37.   }   
  38.      
  39.   /**  
  40.    * 两个Double数相乘  
  41.    * @param v1  
  42.    * @param v2  
  43.    * @return Double  
  44.    */  
  45.   public static Double mul(Double v1,Double v2){   
  46.       BigDecimal b1 = new BigDecimal(v1.toString());   
  47.       BigDecimal b2 = new BigDecimal(v2.toString());   
  48.       return b1.multiply(b2).doubleValue();   
  49.   }   
  50.      
  51.   /**  
  52.    * 两个Double数相除  
  53.    * @param v1  
  54.    * @param v2  
  55.    * @return Double  
  56.    */  
  57.   public static Double div(Double v1,Double v2){   
  58.       BigDecimal b1 = new BigDecimal(v1.toString());   
  59.       BigDecimal b2 = new BigDecimal(v2.toString());   
  60.       return b1.divide(b2,DEF_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue();   
  61.   }   
  62.      
  63.   /**  
  64.    * 两个Double数相除,并保留scale位小数  
  65.    * @param v1  
  66.    * @param v2  
  67.    * @param scale  
  68.    * @return Double  
  69.    */  
  70.   public static Double div(Double v1,Double v2,int scale){   
  71.       if(scale<0){   
  72.           throw new IllegalArgumentException(   
  73.           "The scale must be a positive integer or zero");   
  74.       }   
  75.       BigDecimal b1 = new BigDecimal(v1.toString());   
  76.       BigDecimal b2 = new BigDecimal(v2.toString());   
  77.       return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();   
  78.   }   
分享到:
评论

相关推荐

    java 实现加减乘除的方法

    Java提供了多种基本数据类型,包括`int`(整型)、`double`(双精度浮点型)和`float`(单精度浮点型),它们都支持加减乘除运算。例如: ```java int a = 5; int b = 3; int sum = a + b; // 加法 int ...

    加减乘除精确算法

    总的来说,精确的加减乘除算法在Java编程中主要通过BigDecimal类来实现,它能够解决浮点数运算的精度问题,适用于金融、科学计算等对精度要求高的场景。使用这样的工具类,开发者可以避免因为数据类型的限制而产生的...

    java编写的计算器,能实现加减乘除

    java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...

    复数加减乘除

    这个"复数加减乘除"项目显然提供了一个用户界面,使得用户能够直观地进行复数运算。 复数由实部和虚部组成,通常表示为`a + bi`,其中`a`是实部,`b`是虚部,`i`是虚数单位,满足`i² = -1`。Java中的复数类可能...

    Java计算器 实现最简单的加减乘除、开方、求倒数等

    本文将详细探讨如何使用Java语言实现一个简单的计算器,支持加减乘除、开方以及求倒数等功能。 首先,我们需要了解Java的基础语法和控制结构。Java是一种面向对象的编程语言,它的类和对象概念是实现功能的关键。在...

    如何使用java来实现加减乘除运算.pdf

    Java 实现加减乘除运算详解 Java 是一种流行的编程语言,广泛应用于移动应用、Web 开发、桌面应用等领域。在进行数据处理时,加减乘除运算是最基本也是最常用的操作之一。那么,如何使用 Java 实现加减乘除运算呢?...

    java 用户输入加减乘除表达式运算

    在Java编程中,处理用户输入的加减乘除表达式运算是一项常见的任务,尤其是在开发计算器或者涉及简单数学计算的应用中。这个主题涉及到多个关键知识点,包括输入输出处理、字符串解析、算术运算以及异常处理。以下是...

    【Java】BigDecimal实现加减乘除运算代码

    在Java编程中,进行高精度的数学计算时,通常会使用`java.math.BigDecimal`类,因为Java中的简单数据类型如`float`和`double`在处理大数或精确计算时可能会出现误差。`BigDecimal`类提供了加减乘除等运算方法,确保...

    高精度 加减乘除 代码

    通常,计算机的内置数据类型(如int、float、double)都有其计算精度限制,对于超出这个范围的数值运算,可能会导致精度损失。为了解决这个问题,我们可以自定义数据结构和算法来实现高精度计算。这里我们以Pascal...

    计算器--简单的加减乘除

    本文将详述“计算器--简单的加减乘除”这一主题,着重解析如何解决数据精度问题,以及在加减乘除操作中保持计算精确性的方法。 首先,我们需要理解计算机在处理数字时可能面临的精度问题。在大多数编程语言中,如...

    sizeyunsuan.rar_加减乘除 四则运算_四则运算

    在IT领域,尤其是在编程和计算机科学中,四则运算(加减乘除)是基本的数学操作,它们构成了计算逻辑的基础。"sizeyunsuan.rar_加减乘除 四则运算_四则运算"这个标题暗示了我们将讨论的是如何在编程环境中执行这些...

    我做的多则运算支持括号加减乘除

    标题中的“我做的多则运算支持括号加减乘除”指的是一个计算器程序,它能够处理包含括号的数学表达式,并执行基本的四则运算(加法、减法、乘法和除法)。这个计算器是由Java编程语言实现的,显示了开发者在编程和...

    分数的加减乘除运算Rational Numbers

    例如1/3=0.0000…,它不能使用数据类型double或float的浮点格式精确表示出来,为了得到准确结果,必须使用有理数。 – Java提供了整数和浮点数的数据类型,但是没有提供有理数的类型。 – 由于有理数与整数、...

    多则运算表达式包括括号加减乘除

    在Java编程语言中,多则运算表达式是程序设计中不可或缺的部分,它们涉及到数学运算的各种操作,如加法(+)、减法(-)、乘法(*)和除法(/)。这些运算符用于组合一个或多个数值以执行计算。在处理这样的表达式时...

    使用一般参数传递方式,实现简单计算器的加减乘除后端接口功能。

    本主题聚焦于使用“一般参数传递方式”来创建一个能够处理加、减、乘、除运算的后端接口。这里我们将深入探讨如何实现这个功能,并通过具体的HTTP请求地址`Http://localhost:8080/simplecalculator`来演示其工作原理...

    java 公式计算汇总,直接调用其方法即可进行运算

    标题“java 公式计算汇总,直接调用其方法即可进行运算”所描述的,就是这样一个方便的工具集合,它包含了加减乘除基本运算以及正弦、余弦等科学计算功能。 1. **基础数学运算**: - 加法:在Java中,可以使用`+`...

    android计算器demo可以实现连续加减乘除运算.rar

    这个"android计算器demo可以实现连续加减乘除运算.rar"压缩包包含了一个示例项目,可以帮助开发者理解和学习如何在Android环境中创建这样的计算器应用。下面将详细讨论相关知识点。 1. **Android Studio环境**:...

    android 计算器 demo 可以实现连续加减乘除运算

    这个"android 计算器 demo"就是一个实例,展示了如何在Android环境中实现连续加减乘除的功能。下面将详细介绍这个Demo涉及的关键知识点。 首先,Android应用开发的基础是Java语言,因此这个计算器Demo的代码大部分...

    计算器 JSP JAVA 乘除运算的实现

    在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它结合了HTML、CSS和Java代码,使得开发者可以在服务器端处理数据并生成HTML响应。本项目聚焦于使用JSP和JAVA来实现一个计算器的功能,特别是...

    类 java.lang.Number分析

    此外,Number类也是Java中一些具体数值类型(如Byte、Short、Integer、Long、Float、Double、BigInteger和BigDecimal)的超类。 一、Number类的核心功能 Number类包含了一系列抽象方法,如doubleValue(), float...

Global site tag (gtag.js) - Google Analytics