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

double类型相除的小数位数保留问题

    博客分类:
  • java
UP 
阅读更多

今天让小数位数的保留问题折磨了半天,自己搞定是搞定,但很不理想,上网查找了一些结合自己的保存起来以便后用:

public static void main(String[] args) {
  //方法一:
  //保留小数位数,并能四舍五入
  DecimalFormat de = new DecimalFormat("0.00");
  System.out.println(de.format(52.83252));
  
  //方法二:
  //最简单的保留两位小数方法,并能四舍五入
  double dou = 0.36854;
  dou = Math.round(dou*100);
  System.out.println(dou/100);
  
  //方法三:
  //BigDecimal --des.setScale()方法里的2,表示保留的小数位数
  //第二个参数为也可为 ROUND_HALF_UP
  //doubleValue() 保证输入的结果为double类型,也可以有intValue()方法
  BigDecimal des = new BigDecimal(0.36584);
  des = des.setScale(2, BigDecimal.ROUND_HALF_EVEN);
  System.out.println(des.doubleValue());
  
  //如果des.setScale()方法里的第二个参数为ROUND_HALF_UP
  des = des.setScale(2, BigDecimal.ROUND_HALF_UP);
  System.out.println(des.intValue());
  
  
  //方法四:
  NumberFormat forma = NumberFormat.getIntegerInstance();
  forma.setMaximumFractionDigits(2);
  System.out.println(forma.format(0.6358));
  
 }

分享到:
评论

相关推荐

    Java中Double除保留后小数位的几种方法(小结)

    Java中Double除保留后小数位的几种方法是指在Java编程语言中,对Double类型数据进行保留小数位的操作。这种操作在实际开发中非常常见,例如在统计成绩、金融计算、科学计算等领域中都需要对Double类型数据进行保留...

    double类型精度丢失;double转换到64位整数

    2. **保留特定小数位**: 如果知道需要保留的小数位数,可以先将`double`乘以相应的10的幂,然后进行整数转换,再除回相同幂的10,但这只能解决特定场景下的问题。 3. **使用高精度库**: 如果需要处理大量的浮点计算...

    程序中两个Double类型相加出现误差的解决办法

    今天在自己做的系统中,发现了一个奇怪的现象:几个Double类型的数据相加,到最后得出的金额比正确数值总是少了几毛钱。以为是程序里的计算方法有问题,可是排查了很... 我们的系统里有保留小数位数为4位,按理是可以

    vb.net三位数相除法

    三位数相除时,如果结果可能包含小数,应使用`Double`类型,否则可能导致数据丢失。 2. **运算符**:VB.NET中的除法运算符主要有两种: - `/`:这是标准的除法运算符,用于实数或双精度数的除法,会返回一个浮点数...

    java的用来处理数字方面的逻辑工具类

    * * 两个Double数相除,并保留scale位小数 * * @param v1 * @param v2 * @param scale * @return Double */ public static Double div(Double v1, Double v2, int scale) { } /** * 返回指定Double...

    浙江大学c语言总复习题-基本数据类型和运算 (1).pdf

    - **双精度**(double):64位二进制表示,精度高于float,称为双精度,因为它能表示更多的小数位数。 4. **变量**: - 变量是内存中的一个存储单元,具有名称(标识符)、数据类型和作用域。变量可以分配在栈区...

    Javase1[参考].pdf

    例如,一个`int`和一个`double`相除,结果将是`double`类型。取模运算符`%`用于求余数,如`a % b`会返回`a`除以`b`的余数。 了解这些基础概念对于进行Java编程至关重要,它们构成了编写任何Java程序的基础。熟悉...

    WIN7计算器

    `XiaoShuDian` 可能会根据计算结果是否有小数来决定显示的小数位数;而 `JiSuan` 可能用于跟踪当前的计算步骤,尤其是在执行连续计算时。 在Windows 7计算器中,有几种不同的计算模式,包括标准型、科学型、程序员...

    c语言课件 一天学会

    而double类型占用8个字节,能表示16位有效数字,范围大约是±10^-308到±10^308。 3. 字符型(char):用于存储单个字符,如英文字母、数字或符号。在ASCII编码中,字符型占用1个字节,可以表示0到255的值。 4. 枚举...

    c语言大一小白基础笔记

    * double型:用8个字节存储一个double型数据,可以得到15位有效数字,在C语言中进行浮点数的算数运算时,将float型数据都自动转换为double型然后再运算。 3.2.6 常量的类型 常量的类型可以由其表示形式判定,例如...

    C语言数据类型与表达式习题及答案[归类].pdf

    - 强制类型转换允许将一种类型转换为另一种类型,如`(int)(3.14)`会丢失小数部分。 理解并熟练掌握这些知识点是学习C语言的基础,通过做相关的习题和解答可以帮助巩固这些概念,并提高编程能力。在编程实践中,...

    Java中使用的常用数学类

    在除法操作中,`scale`参数定义了结果的小数位数,`roundingMode`指定了舍入模式,如`RoundingMode.HALF_UP`(四舍五入)。 4. 四舍五入: `BigDecimal`提供了多种四舍五入的方法,如`round()`、`setScale()`。...

    DSP定点运算-Q格式

    Q15,小数点在第15位的后面,0~14位都是小数位。Q格式的转化公式是Q=(int)(F×pow(2,q))和F=(float)(Q×pow(2,-q))。 4.Q格式的运算 Q格式的运算包括加减法、乘法、除法和移位运算。其中,加...

    计算机二级C重点总结.pdf

    - 整数相除结果为整数,浮点数参与除法时会保留小数。 - `%`是求余运算符,只适用于整数。 - 运算符优先级和类型转换规则:不同类型数据运算时会自动转换为同一类型,但强制类型转换可以通过`(类型名)(表达式)`...

    day02-运算符及控制台.pdf

    需要注意的是,整数除法只返回整数部分,如果想要得到小数,至少有一个操作数应该是`float`或`double`类型。 2. **字符运算**: - 字符参与算术运算时,使用其对应的ASCII码。例如,'a'对应的ASCII码是97,'A'是65...

    PHP中对于浮点型的数据需要用不同的方法解决

    例如,在以下代码中,我们使用`bcsub`函数计算两个浮点数的差,确保结果保留一位小数: ```php $aa = bcsub(134.7, 52.5, 1); // $aa 现在是 "82.2" $bb = bcsub($aa, 82.2, 1); // $bb 现在是 "0.0" ``` 通过使用...

    JAVA浮点数计算精度损失底层原理与解决方案

    对于`double`类型,第一位用于表示符号(0表示正,1表示负),接着的11位表示指数,剩余的52位是尾数(也称为小数部分或 significand)。指数部分决定了浮点数的大小,而尾数部分则保存了浮点数的精度。但是,由于...

    常用40个基础各种运算符号

    整数除法会截断小数部分,浮点数除法则保留小数。 9. **模运算符(%)**:返回除法的余数,如`a % b`。 10. **加法赋值运算符(+=)**:将操作数相加并赋值回左操作数,如`a += b`等效于`a = a + b`。 11. **减法赋值...

    ORACLE 函数大全(转)

    - `ROUND()`:四舍五入到指定的小数位数。 - `TRUNC()`:截断数字到指定的小数位数。 2. **日期和时间函数**: - `SYSDATE`:返回当前系统的日期和时间。 - `ADD_MONTHS()`:在日期上增加指定的月数。 - `...

    2021-2022计算机二级等级考试试题及答案No.18515.docx

    9. 方法返回类型:给定的方法定义中,返回类型为double,因为返回值是两个浮点数相除的结果,即使进行了类型转换,也可能超过byte和short的范围。 10. 随机打乱列表:Python的random模块中的shuffle()函数用于就地...

Global site tag (gtag.js) - Google Analytics