欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-01-10 19:23:22
...

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

方法一:

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.