程式碼:#include
2006-11-06 14:21:22 · 2 個解答 · 發問者 ? 3 in 電腦與網際網路 ➔ 程式設計
因為您用的是整數。把之前那列改成d= (float)a/b;就可以了
2006-11-06 20:17:54 補充:
您寫的是:float = int / int;= 右邊在算時,因為都是 int,所以,用 int 去算。算完,答案是 int;但 = 左邊是 float,所以,會〝自動轉型〞(coercion) 成 float。而算出的答案已是 int,coercion 不會也不能自動把小數生出來!
2006-11-06 20:21:25 補充:
(float) a / b; // 程式師指定轉型 (cast)(float) a 指定把 a 轉型成 float,所以,= 右邊是 float / int。多數 CPU 不能算這東東,所以,(通常) int 數 coercion 成 float,變成了 float / float => 答案是 float因此,答案有了小數,再 assign 給左邊的 float,小數不會遺失。
2006-11-06 15:11:55 · answer #1 · answered by ? 7 · 0⤊ 0⤋
d=(float)a/b; 或 d = a/(float)b;
因為 a,b 是 int,在運算時也是用整數的方式計算.這時候要手動轉換型別.
2006-11-06 15:10:37 · answer #2 · answered by 鳳琳 5 · 0⤊ 0⤋