[問題] 被一個很簡單的問題給難倒了..

看板C_and_CPP (C/C++)作者 (阿king)時間16年前 (2009/05/28 22:36), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
就是阿 想請問大家一個很笨的問題.. float y1=0; y1=(-1/20)*d1+3/2; return y1; 上面這個片段程式碼 然後我把d1=15帶入時 為什麼....y1的值會是1....= = 不是0.75嗎? 誰可以幫我解決疑惑.....>"< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.60.253.223

05/28 22:37, , 1F
1/20 與 3/2 做的是整數除法 答案分別是 0 與 1
05/28 22:37, 1F

05/28 22:39, , 2F
那有什麼方法可以解決嗎?>"< 那換成小數如除不盡怎辦..
05/28 22:39, 2F

05/28 22:40, , 3F
我是說像1/3這種例子 就只能自己先算然後用0.33帶入嗎?
05/28 22:40, 3F

05/28 22:41, , 4F
把 1/20 寫成 1/20.0f 就會變成浮點數除法了
05/28 22:41, 4F

05/28 22:42, , 5F
1/20.0f 可以簡略成 1/20.f 這樣得到的結果是 float
05/28 22:42, 5F

05/28 22:42, , 6F
如果把 f 拿掉 得到的結果就是 double
05/28 22:42, 6F

05/28 22:43, , 7F
解決了~~謝謝你~^^
05/28 22:43, 7F
文章代碼(AID): #1A7g5vUY (C_and_CPP)
文章代碼(AID): #1A7g5vUY (C_and_CPP)