[問題] 取小數點

看板C_and_CPP作者時間13年前 (2011/05/29 19:00), 編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/2 (看更多)
各位前輩大家好... 小弟想請教各位一個取小數點的問題 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)

05/29 19:02, , 1F
你把他乘以1000000在取末兩位就好了呀
05/29 19:02, 1F

05/29 21:24, , 2F
浮點數有精確度的問題, n=1.000056;後, 實際儲存下來的
05/29 21:24, 2F

05/29 21:25, , 3F
也未必真的是精準的1.000056啊; 同樣的乘上10的某次方後
05/29 21:25, 3F

05/29 21:26, , 4F
取下來的可能也不是原來的數值. 要先釐清的是, 你要做的
05/29 21:26, 4F

05/29 21:27, , 5F
事是把1.00{n個0}1234 這種數, n個0以前的東西都不要,
05/29 21:27, 5F

05/29 21:28, , 6F
只取剩下來的(像1234)這樣?? 要實際的浮點數還是"1234"
05/29 21:28, 6F

05/29 21:29, , 7F
這幾個文字就好?? 如果只是要文字, 用sprintf加個簡單的
05/29 21:29, 7F

05/29 21:29, , 8F
迴圈找一下就行了; 要實際的浮點數, 就麻煩了....Orz
05/29 21:29, 8F

05/30 08:06, , 9F
就是要浮點數才....
05/30 08:06, 9F

05/30 09:18, , 10F
突然想到.. frexp 應可用.
05/30 09:18, 10F
文章代碼(AID): #1DuYSxdH (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DuYSxdH (C_and_CPP)