Home  >  Article  >  Java  >  Java implements how to retain the number of decimal places for double data

Java implements how to retain the number of decimal places for double data

王林
王林Original
2020-02-03 11:25:554761browse

Java implements how to retain the number of decimal places for double data

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn