[問題] 程式跑出來很奇怪,到底哪裡出問題?
我要使用float陣列,想要把兩個小數相成,EX:0.5*0.5=0.25
但跑出來的結果卻不是這樣。
我的程式碼如下:
class Ex33{
public static void main(String[] _){
float [] a1=new float [5];
float [] a2=new float [5];
float [] a3=new float[5];
int i;
for(i=1;i<a1.length+1;i++){
a1[i-1]=i/10.f;
}
for(i=0;i<a1.length;i++){
a2[i]=a1[i]+1;
}
for(i=0;i<a3.length;i++){
a3[i]=a1[i]*a2[i];
}
for(i=0;i<a3.length;i++){
System.out.print(a3[i]+" ");
}
}
}
我以為跑出來的結果應該是
0.11 0.24 0.39 0.56 0.75
但結果卻是0.11000001 0.24000001 0.39000002 0.56 0.75
請問為什麼會出現這麼多小數點 ?
而哪個部份出錯了?
感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.134.86
推
10/28 19:31, , 1F
10/28 19:31, 1F
推
10/28 19:49, , 2F
10/28 19:49, 2F
推
10/28 22:41, , 3F
10/28 22:41, 3F
→
10/29 17:05, , 4F
10/29 17:05, 4F
推
10/30 02:14, , 5F
10/30 02:14, 5F