BIGDECIMAL 四舍五入等取舍问题】的更多相关文章

我输入的是1.35,但是电脑不可能取到整数,他的值如下:初始化数据:1.350000000000000088817841970012523233890533447265625ROUND_DOWN); 1.35ROUND_UP); 1.36ROUND_CEILING); 1.36ROUND_FLOOR); 1.35ROUND_HALF_DOWN);1.35ROUND_HALF_EVEN);1.35ROUND_HALF_UP); 1.35 负数情况初始化数据:-1.35000000000000008…
//BigDecimal四舍五入double f1 = new BigDecimal(1).setScale(2,RoundingMode.HALF_UP).doubleValue();//转化成字符串 防止出现0.36 出一堆小数的问题.0.36转BigDecimal时按浮点数,会出现小数BigDecimal testVal = new BigDecimal(f1+""); BigDecimal test = new BigDecimal(0.1);//test=0.10000000…
/*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ import java.math.BigDecimal; //数字字符串 String StrBd="1048576.1024"; //构造以字符串内容为值的BigDecimal类型的变量bd BigDecimal bd=new BigDecimal(StrBd); //设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(四舍五入) bd=bd.setScale(2, BigDeci…
一.保留2位小数,且四舍五入 String re = new java.text.DecimalFormat("#.##").format(3.14555); 结果:3.15 二.保留2位小数,但不四舍五入 BigDecimal dd= new BigDecimal(3.14555).setScale(2, RoundingMode.DOWN);System.out.println(dd.doubleValue()); 结果:3.14…
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class NumberFormatDemo { public static void main(String[] args) { // BigDecimal // 保留两位小数 System., BigDecimal.ROUND_HALF_UP).doubleValue());// 0.2 Syst…
如上图,精度后只有一位时,是五舍六入.     如上图,精度后只有第一位不为0时,也是五舍六入.     如上图,精度后至少有两位不为0时,才是四舍五入.  …
float四舍五入保留两位小数 /** * float四舍五入保留两位小数 * */ public static float formatDecimal(float n) { return (Math.round(n * 100)) / 100f; } double四舍五入保留两位小数 /** * double四舍五入保留两位小数 * */ public static double formatDecimal(double n) { return (Math.round(n * 100)) /…
import java.math.BigDecimal; public class TestGetInt { public static void main(String[] args) { double i = 2, j = 2.1, k = 2.5, m = 2.9; System.out.println("舍掉小数取整:Math.floor(2)=" + ( System.out.println("舍掉小数取整:Math.floor(2.1)=" + ( Sy…
关于四舍五入:ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1 BigDecimal a = new BigDecimal(1.5); System.out.println("down="+a.setScale(0,BigDecimal.ROUND_HALF_DOWN)+"\tup="+a.setScale (0,BigDecimal.ROU…
• Java中的简单浮点数类型float和double不能够进行运算.不光是Java,在其它很多编程语言中也有这样的问题. 如果我们编译运行下面这个程序会看到什么? public   class  Test  {      public   static   void  main(String args[])  {                 System.out.println(0.05 + 0.01);         System.out.println(1.0 - 0.42);   …