Method 1: String format method (recommended)
double f = 111231.5585; System.out.println(String.format("%.2f", f));
Method 2: DecimalFormat format method
double f = 111231.5585; DecimalFormat df = new DecimalFormat("#.00"); System.out.println(df.format(f));
The following content Just understand it, you don’t need to read it
Method three: BigDecimal’s setScale method
double f = 111231.5585; BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1);
Method four: NumberFormat’s setMaximumFractionDigits method
double f = 111231.5585; NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); System.out.println(nf.format(f));
Code:
1 import java.math.BigDecimal; 2 import java.text.DecimalFormat; 3 import java.text.NumberFormat; 4 public class format { 5 double f = 111231.5585; 6 public void m1() { 7 BigDecimal bg = new BigDecimal(f); 8 double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 9 System.out.println(f1); 10 } 11 /** 12 * DecimalFormat转换最简便 13 */ 14 public void m2() { 15 DecimalFormat df = new DecimalFormat("#.00"); 16 System.out.println(df.format(f)); 17 } 18 /**1 9 * String.format打印最简便 20 */ 21 public void m3() { 22 System.out.println(String.format("%.2f", f)); 23 } 24 public void m4() { 25 NumberFormat nf = NumberFormat.getNumberInstance(); 26 nf.setMaximumFractionDigits(2); 27 System.out.println(nf.format(f)); 28 } 29 public static void main(String[] args) { 30 format f = new format(); 31 f.m1(); 32 f.m2(); 33 f.m3(); 34 f.m4(); 35 } 36 }
The above is the detailed content of 4 ways to retain two decimal places in java. For more information, please follow other related articles on the PHP Chinese website!