1

Double を Int にキャストする場合、

 double X = 2.5; 
 int Y = (int)X;

後で Double X を使用しても、まだ .5 が含まれていますか? または、小数点以下の値は永久に失われますか? Double X に、たとえば .1 ずつ追加して、値を int Y に int としてキャストし続けますが、int Y は値全体を取ることができますか? 値を 2、10 回、次に 3 を 10 回、などとします。

配列でも同じように機能しますか?double 配列を int にキャストすると、配列内の値が変更されますか?

ありがとうございました。

4

3 に答える 3

1

X を double 値 X で int にキャストしても、X から浮動小数点は削除されません。

于 2013-03-30T23:04:25.790 に答える
1

あなたがそれをしているので、それは値を変更しません:

 int Y = (int)X;

つまり、Y で何かを作成し、この目的のために変数 X を使用しますが、それを変更することはありません。ところで、この缶詰を使えば、小さなプログラムを簡単に作成して、何が起こるかを確認できます。

于 2013-03-30T23:04:27.650 に答える
1

まず、ダブルとダブルは意味が違います。Double はラップされたオブジェクトであり、整数としてキャストしようとすると失敗します。

double と int はプリミティブであり、double から int にキャストしても double の値は変更されないため、機能するはずです。

于 2013-03-30T23:04:35.043 に答える