看板 C_and_CPP 關於我們 聯絡資訊
各位前輩大家好... 小弟想請教各位一個取小數點的問題 EX:n=1.000056 我該如何利用printf("%.f",n)的指令來取得56這兩個數值? 或是這麼說…… 如果a/b=1.0026595698... 我該如何只取出1.00後面的數據丟給n 又如果我只要取出2659這四位數的話,該怎麼做? 謝謝各位前輩的指教! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.247.156 ※ 編輯: s4399 來自: 220.136.247.156 (05/29 19:00)
firejox:你把他乘以1000000在取末兩位就好了呀 05/29 19:02
VictorTom:浮點數有精確度的問題, n=1.000056;後, 實際儲存下來的 05/29 21:24
VictorTom:也未必真的是精準的1.000056啊; 同樣的乘上10的某次方後 05/29 21:25
VictorTom:取下來的可能也不是原來的數值. 要先釐清的是, 你要做的 05/29 21:26
VictorTom:事是把1.00{n個0}1234 這種數, n個0以前的東西都不要, 05/29 21:27
VictorTom:只取剩下來的(像1234)這樣?? 要實際的浮點數還是"1234" 05/29 21:28
VictorTom:這幾個文字就好?? 如果只是要文字, 用sprintf加個簡單的 05/29 21:29
VictorTom:迴圈找一下就行了; 要實際的浮點數, 就麻煩了....Orz 05/29 21:29
s4399:就是要浮點數才.... 05/30 08:06
tropical72:突然想到.. frexp 應可用. 05/30 09:18