JAVA float double数据类型保留2位小数点5种方法

/**
* Java 两个整数相除保留两位小数,将小数转化为百分数
* java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数。
例如:
(float)a/b // 将整数其中一个强制转换为浮点数,再与另一个整数相除
a/(float)b
(float)a/(float)b // 将两个整数同时强制转换为浮点数后再相除
*/

///////计算小数点的位数:
        System.out.println("1/8="+1/(float)8);
        
        float TT = Math.round(1/(float)8);   //返回的是int型。
        System.out.println("四舍五入小数:"+TT);
        System.out.println("四舍五入小数2:"+Math.round(2.1546));
////方法1
        double dd = (double) (Math.round(1/(float)8*100)/100.0);
        System.out.println("dd="+dd);
        // (double) (Math.round(sd3*10000)/10000.0);   这样为保持4位
////方法2 
        DecimalFormat df2 = new DecimalFormat("###.00");
        DecimalFormat df3 = new DecimalFormat("###.000");

        System.out.println("转换2="+df2.format(1/(float)8));
        System.out.println("转换3="+df3.format(1.1256));
////方法3
//        String ss = String.format("%10.2f%%", 1.1256);  //1.13f
//        String ss = String.format("%10.2f", 1.1256);   //       1.13
        String ss = String.format("%1.2f", 1.1256);   //1.13
        System.out.println("转换4="+ss);
////方法4
         double x=23.5455; 
         NumberFormat ddf1=NumberFormat.getNumberInstance() ;
         ddf1.setMaximumFractionDigits(2); 
         String s= ddf1.format(x) ; 
         System.out.print("数字格式="+s);   //四舍五入   23.55
////方法5
        float T = 0.1257f;
        BigDecimal b = new BigDecimal(T);  
        T = b.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();  
        System.out.println("保留2位小数:"+T);
原文地址:https://www.cnblogs.com/simpledev/p/4765834.html