OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

NaNではなく、0と表示させたい

  • 暇なときにでも
  • 質問No.242348
  • 閲覧数254
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 18% (10/53)

0を0で割った時に,
NaNと表示されるのではなく、
0と表示させたいのですが、
どうしたらよいですが?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1

ものすごく単純かもしれませんが int a; int b; int c; if(a==0 && b==0){  c=0; }else{  c=a/b; } では駄目でしょうか?
ものすごく単純かもしれませんが
int a;
int b;
int c;
if(a==0 && b==0){
 c=0;
}else{
 c=a/b;
}
では駄目でしょうか?


  • 回答No.2
レベル13

ベストアンサー率 50% (604/1207)

ん? 浮動小数点型ですよね? 整数型だと例外になりますから。 下の型とやってることは同じですが、 double a, b, c; c = ((a == 0.0) && (b == 0.0))  ? 0.0  : a / b;
ん? 浮動小数点型ですよね?
整数型だと例外になりますから。

下の型とやってることは同じですが、

double a, b, c;
c = ((a == 0.0) && (b == 0.0))
 ? 0.0
 : a / b;
  • 回答No.3
レベル7

ベストアンサー率 71% (5/7)

 計算前の値を検査して結果を制御するか、結果に応じてその結果を修正することになると思います。  以下がその例です。 public class zero { public static void main(String args[]) { double a, b, c; try { if (args.length < 2) return; a = Double.p ...続きを読む
 計算前の値を検査して結果を制御するか、結果に応じてその結果を修正することになると思います。
 以下がその例です。

public class zero {

public static void main(String args[]) {

double a, b, c;

try {

if (args.length < 2) return;
a = Double.parseDouble(args[0]);
b = Double.parseDouble(args[1]);

//通常の結果
c = a / b;
System.out.println(c);

//0を0で割ったとき結果を0にする
c = ((a == 0.0) && (b == 0.0) ? 0.0 : a / b);
System.out.println(c);

//0を何か(NaNなど)で割ったとき(0を0で割ったときも)結果を0にする
c = (a == 0.0 ? 0.0 : a / b);
System.out.println(c);

//結果がNaNの時に結果を0にする
c = (Double.isNaN(a / b) ? 0.0 : a / b);
System.out.println(c);

} catch (Exception e) { System.out.println(e.toString()); };

};

}
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ