孤獨
2006-10-11 08:41:18 UTC
小弟再寫作業時..由於需要~必須將Double轉為字串~
但轉出來的結果實在是很詭異~
想了想..也不知原因為何..
於是小弟做了以下實驗..
public class A
{
public static void main ( String args[] )
{
double d = 1.0;
for(int i=0; i<2; i++){
d = d*0.1;}
System.out.printf("%.2f\n",d);
String c = ""+d;
System.out.printf("%s\n",c);
double e =0.01;
String a = ""+e;
System.out.printf("%s",a);
}
}
印出來的3個數分別為
0.01
0.010000000000000002
0.01
我寫作業時轉出的結果就是第2行..
可是我不懂..d明明也是0.01阿~~
轉出來的c為什麼跟a會不一樣呢>"<~~
能否請諸位高手為小弟解惑~~為什麼經過一個for loop轉字串結果
會跟直接令double轉字串結果不同
感激不盡~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.85.215
但轉出來的結果實在是很詭異~
想了想..也不知原因為何..
於是小弟做了以下實驗..
public class A
{
public static void main ( String args[] )
{
double d = 1.0;
for(int i=0; i<2; i++){
d = d*0.1;}
System.out.printf("%.2f\n",d);
String c = ""+d;
System.out.printf("%s\n",c);
double e =0.01;
String a = ""+e;
System.out.printf("%s",a);
}
}
印出來的3個數分別為
0.01
0.010000000000000002
0.01
我寫作業時轉出的結果就是第2行..
可是我不懂..d明明也是0.01阿~~
轉出來的c為什麼跟a會不一樣呢>"<~~
能否請諸位高手為小弟解惑~~為什麼經過一個for loop轉字串結果
會跟直接令double轉字串結果不同
感激不盡~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.85.215