Home > Java > javaTutorial > 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

王林
Release: 2020-02-03 11:25:55
Original
4802 people have browsed it

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);
Copy after login

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);
Copy after login

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);
Copy after login

2. %.2f means retaining the last two digits and can be rounded

1 double d = 114.145;
2 String.format("%.2f", d);
Copy after login

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));
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template