解决办法================== http://blog.javaxxz.com/?p=763 一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法 进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺 憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,我挑最常用的两个 来演示一下:一个…
mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0; double d3 = 2.0; df.format(d1); df.format(d2); df.format(d3); 3个结果分别为: 3.23 0.00 2.00 java保留两位小数问题: 方式一: 四舍五入 double f = 1112…
1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入,也可以直接截断. 比如:输入12345.6789,输出可以是12345.68也可以是12345.67.至于是否需要四舍五入,可以通过参数来决定(RoundingMode.UP/RoundingMode.DOWN等参数). 2. 实现代码 package com.clzhang.sample; import java.math.BigDecimal; import java.math.RoundingMode; import j…
Java中四舍五入保留两位小数 方法一 四舍五入 double f = 3.15; long res = Math.round(f); #结果 res = 3 保留两位小数 double f = 3.15; float res =(float) Math.round(f*100)/100; #结果 res = 3.15 注意: 这里用浮点类型,如果换成了整形long,那么就是缩小了数据类型,无法出现小数情况 方法二 double f = 111231.5585; BigDecimal b = n…
返回本章节 返回作业目录 需求说明: 分别计算两个整数加.减.乘.除的结果并显示,要求除法保留两位小数. 实现思路: 接收用户控制台输入的两个整数. 实现两个整数的加.减.乘.除的运算并输出结果. 除法结果要求保留两位小数. 实现代码: import java.util.Scanner; public class ChangeType { public static void main(String[] args) { Scanner sc = new Scanner(System.in); S…
java保留两位小数问题: 方式一: 四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();  保留两位小数  ---------------------------------------------------------------   方…
http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现   java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP): 四舍五入   double   f   =   111231.5585;   BigDecimal   b   =   new   BigDecimal(f);   double   f1   =   b.setScale…
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND…
有时候在测试过程中会截取返回值,当你截取的值不是最终的值,需要进行计算后才能使用并且需要保留两位小数,不进行四舍五入的计算: 此时 我使用了各种办法,但是最终我采用了一种最直接,最暴力的方法就是先乘后除,先变int后转floa. Action(){ float a = 2.8999;float b;b = ((int)(a * 100))/100.0; lr_output_message("保留两位小数%.2f\n",b); return 0;} 结果:保留两位小数2.89.以上为测试…
这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为:…