人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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を表示させたいのですが、お分かりの方、ご教示ください。


●質問者: kojiro_i619
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rsc
●200ポイント ベストアンサー

こちらは参考になるでしょうか。「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


kojiro_i619さんのコメント
int b=1431; int c=102406; double a=b/b*100000; の場合は、どうでしょうか?

rscさんのコメント
その場合は、せめて最初の文字だけでもキャストしておくのはどうでしょうか。 >|java| double a = (double)b/c*100000; ||< ※参考URL https://www.javadrive.jp/start/cast/index3.html

kojiro_i619さんのコメント
参考URLで、ほぼわかりました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ