保留两位小数(四舍五入/不四舍五入)

保留两位小数,不四舍五入

方法一:

public static String formatDecimal (double value){
		final DecimalFormat formater = new DecimalFormat();
		formater.setMaximumFractionDigits(2);
		formater.setGroupingSize(0);
		formater.setRoundingMode(RoundingMode.FLOOR);
		System.out.println(formater.format(3.1415926));
		String result = formater.format(3.1415926);
		return result;
	}


方法二:

public static String calculateProfit(double doubleValue) {
        // 保留4位小数
        DecimalFormat df = new DecimalFormat("0.0000");
        String result = df.format(doubleValue);
        // 获取小数 . 号第一次出现的位置
        int inde = firstIndexOf(result, ".");
        // 字符串截断
        return result.substring(0, inde + 3);
    }

public static int firstIndexOf(String str, String pattern) {
        for (int i = 0; i < (str.length() - pattern.length()); i++) {
            int j = 0;
            while (j < pattern.length()) {
                if (str.charAt(i + j) != pattern.charAt(j))
                    break;
                j++;
            }
            if (j == pattern.length())
                return i;
        }
        return -1;
    }


保留两位小数,四舍五入:

public static String formatDouble(String value) {
	   	 DecimalFormat    df   = new DecimalFormat("#0.00");  
	   	 String st=df.format(Double.valueOf(value));
	   	 return st;
    }


注意:

new DecimalFormat("#0.00"); new DecimalFormat("0.00");

区别:最终结果没有区别,#表示如果不存在则显示为空,0表示如果没有则该位补0.

你可能感兴趣的:(Java)