java保留小数点的几个方法

方法一: String类自带的方法 String.format("%.2f", 1.2548); "%.2f"其中的数字决定保留几位
方法二: 格式化的方法

private static final java.text.DecimalFormat df = new java.text.DecimalFormat("0.00%");
	private static final java.text.DecimalFormat df2 = new java.text.DecimalFormat("0.00");

	public static String format(Double data) {
		synchronized (df) {
			return df.format(data);
		}
	}

	public static String format2(Double data) {
		synchronized (df2) {
			return df2.format(data);
		}
	}

  

方法三:Float a =1.23466643f;
int b = (int) (a*10000);
a =(float) b/10000;
System.out.println(a);
方法四:可以不四舍五入的保留小数点 方法原理是一位一位的获取 考虑到位数为0的特殊情况
double num =1;
Integer b =(int) (num*100000);
String a =b/100000+"."
              +(b%100000>=10000?b%100000/10000:("0"))
              +(b%10000>=1000?b%10000/1000:("0"))
              +(b%1000>=100?b%1000/100:("0"))
               +(b%100>=10?b%100/10:("0"+b%10));
System.out.println(a);

原文地址:https://www.cnblogs.com/wgj-master/p/8405388.html