★★Java質問・相談スレッド150★★
■ このスレッドは過去ログ倉庫に格納されています
0260デフォルトの名無しさん
2012/01/03(火) 01:21:11.11class DoubleArrayFor {
public static void main(String[] args) {
double[] a=new double[5];
for(int i=0;i<a.length;i++)
a[i]=(i+1)*1.1;
for(int i=0;i<a.length;i++)
System.out.println("a["+i+"]="+a[i]);
}
}
上記で結果が下記になります。
a[0]=1.1
a[1]=2.2
a[2]=3.3000000000000003
a[3]=4.4
a[4]=5.5
このa[2]だけなぜこのようになるのでしょうか?
本には浮動小数点数には誤差が含まれるためこうなるとありますが、
それだったら他のところも同様になるのではありませんか?
■ このスレッドは過去ログ倉庫に格納されています