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, and BigDecimal.ROUND_HALF_DOWN also means rounding. Enter, BigDecimal.ROUND_UP means carry processing (that is, directly add 1), BigDecimal.ROUND_DOWN means directly removing the mantissa.
Recommended learning: 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. Returning the String type
1 and #.00 means retaining the last two digits. The processing method is to directly cut off the unnecessary mantissas 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
1 double d = 114.145; 2 String.format("%.2f", d);
3. RoundingMode.HALF_DOWN means rounding. The absolute value of a negative number is first taken, then rounded and then negative. RoundingMode.HALF_UP: Indicates rounding. Negative numbers first take the absolute value and then round to the nearest six and then make the negative number
double d = 114.145 NumberFormat nf = NumberFormat.getNumberInstance(); // 保留两位小数 nf.setMaximumFractionDigits(2); // 如果不需要四舍五入,可以使用RoundingMode.DOWN nf.setRoundingMode(RoundingMode.UP); System.out.println(nf.format(d));
Related article tutorial sharing: java introductory tutorial
The above is the detailed content of Java implements how to retain the number of decimal places for double data. For more information, please follow other related articles on the PHP Chinese website!