Java –小数点以下2桁で表示
Javaでは、小数点以下2桁でdoubleを表示する方法はいくつかあります。
Note
これを読むRoundingMode
1. DecimalFormat
DecimalExample.java
package com.example;
import java.math.RoundingMode;
import java.text.DecimalFormat;
public class DecimalExample {
private static DecimalFormat df2 = new DecimalFormat("#.##");
public static void main(String[] args) {
double input = 3.14159265359;
System.out.println("double : " + input);
System.out.println("double : " + df2.format(input)); //3.14
// DecimalFormat, default is RoundingMode.HALF_EVEN
df2.setRoundingMode(RoundingMode.DOWN);
System.out.println("\ndouble : " + df2.format(input)); //3.14
df2.setRoundingMode(RoundingMode.UP);
System.out.println("double : " + df2.format(input)); //3.15
}
}
出力
double : 3.14159265359 double : 3.14 double : 3.14 double : 3.15
2. String.format
StringFormatExample.java
package com.example;
public class StringFormatExample {
public static void main(String[] args) {
double input = 3.14159265359;
System.out.println("double : " + input);
System.out.println("double : " + String.format("%.2f", input));
System.out.format("double : %.2f", input);
}
}
出力
double : 3.14159265359 double : 3.14 double : 3.14
3. BigDecimal
BigDecimalExample.java
package com.example;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalExample {
public static void main(String[] args) {
double input = 3.14159265359;
System.out.println("double : " + input);
BigDecimal bd = new BigDecimal(input).setScale(2, RoundingMode.HALF_UP);
double newInput = bd.doubleValue();
System.out.println("double : " + newInput);
}
}
出力
double : 3.14159265359 double : 3.14