1. Return double type
1. Can be rounded
double d = 114.145; d = (double) Math.round(d * 100) / 100; System.out.println(d);
2. BigDecimal.ROUND_HALF_UP means rounding, BigDecimal .ROUND_HALF_DOWN is also rounded, BigDecimal.ROUND_UP means carry processing (that is, adding 1 directly), and BigDecimal.ROUND_DOWN means directly removing the mantissa.
(Free learning video tutorial sharing: java video tutorial)
double d = 114.145; BigDecimal b = new BigDecimal(d); d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(d);
2 returns String type
1, # .00 means retaining the last two digits. Its processing method is to directly truncate the unnecessary mantissa without rounding.
double d = 114.145; DecimalFormat df = new DecimalFormat("#.00"); String str = df.format(d); System.out.println(str);
2. %.2f means retaining the last two digits and can be rounded off.
double d = 114.145; String.format("%.2f", d);
3. RoundingMode.HALF_DOWN means rounding, negative numbers first take the absolute value, then rounding, and then negative numbers. RoundingMode.HALF_UP: means rounding, negative numbers first take the absolute value, then rounding, and then negative numbers.
double d = 114.145 NumberFormat nf = NumberFormat.getNumberInstance(); // 保留两位小数 nf.setMaximumFractionDigits(2); // 如果不需要四舍五入,可以使用RoundingMode.DOWN nf.setRoundingMode(RoundingMode.UP); System.out.println(nf.format(d));
Recommended related articles and tutorials: java introductory tutorial
The above is the detailed content of Java implements double to retain two decimal places after the decimal point. For more information, please follow other related articles on the PHP Chinese website!