Javaでdouble型の変数xを小数点以下2桁まで表示する方法について
double a=1431*100000/102406;
System.out.println(a); //1397.0と表示される。
int b;
int c;
b=(int)(a*1000);
System.out.println(b); //1397000と表示される。
c=b % 10;
System.out.println(c); //0
b-=c;
if(c>=5){
b+=10;
}
System.out.println(b); //1397000
a=((double)b)/1000;
System.out.println(a); //1397.0
//のように表示されます。
double a=1431*100000/102406;
でも、
double a=(1431/102406)*100000;
にしたら、0.0になりました。
最終的には、普通の1397.38を表示させたいのですが、お分かりの方、ご教示ください。
こちらは参考になるでしょうか。「formatメソッド」を使うのはどうでしょうか。それから、実数計算には、最初の方で「.0」を付けておきましょう。
class Hatena170428 {
public static void main(String[] args) {
double a = 1431*100000/102406;
System.out.println(a);
double b = 1431.0*100000/102406;
System.out.println(String.format("%.2f", b));
}
}
※参考URL
http://java-code.jp/173