推 stupid0319: 這樣改就可以了 printf("123.455"); 08/31 11:52
推 Leadgen: 樓上真是聰明~ 08/31 11:57
→ david830317: 難道這題只在多加一個浮點.. 08/31 12:00
→ david830317: 或者一樓大大的辦法嗎? 08/31 12:00
→ bdvstg: 這題目之前應該有講原因吧? 你有看嗎? 08/31 12:10
→ david830317: b大沒有欸...這題目是在講浮點的時候有的.. 08/31 12:19
→ david830317: 前面是在講解"%8.2f\n" output後會出現什麼.. 08/31 12:20
→ EdisonX: 那你弄清楚8.2是什麼意思了嗎?去查。 08/31 12:31
→ david830317: E大我知道阿...可是這題我還是想不出來.. 08/31 12:38
→ reinhert: std::cout << a; 不是更簡單? 08/31 12:49
→ bdvstg: 版規13誡的第11 也可以看一下 08/31 12:53
→ bdvstg: 其實看板規13誡第11的那個比較完整 不過內容比較多就是 08/31 12:55
→ bdvstg: 然後既然你知道%8.2f代表什麼意思 怎麼還會用%0.2f ? 08/31 12:57
→ david830317: 謝謝b大..我會用%0.2f是想試試看OTZ 08/31 13:02
→ james732: 改用char *也行 (喂) 08/31 14:12
→ EdisonX: 你真知道的話就不會寫 %0.2f 了 , 前面的 0 根本無義。 08/31 14:15
→ david830317: E大 我會打0.2純粹是因為平常的習慣,我當然知道0無 08/31 23:17
→ david830317: 義不過就很順手打了上去 08/31 23:17
→ bibo9901: 哪來的習慣... 08/31 23:32
→ david830317: 平常打字聊天的習慣.. 09/01 00:55
推 longlongint: 用 double 啊 09/01 08:04
推 Killercat: 改double應該是最直覺的 09/01 13:09
→ Killercat: 不過你位數一多一樣會出包.... 09/01 13:10
→ MOONRAKER: 順手打上去咧 藉口有夠多的 09/01 16:29
推 stu85010: 靠我快笑死了XDXDXDXD 09/01 17:05
→ david830317: 謝謝long大跟K大 09/02 00:37
→ david830317: 另外M大跟s大,我平常跟別人聊天打字就是會完整打出 09/02 00:37
→ david830317: 而我又是剛學程式的新手,會把打字時的習慣打在程式裡 09/02 00:38
→ david830317: 這算什麼藉口嗎??如果你們很看不慣這樣的打法 09/02 00:39
→ david830317: 那我會改,也謝謝你們來留言 09/02 00:39
→ LPH66: 事實上格式字串裡 % 後面的 0 跟其他數字不是一起解釋的 09/02 00:40
→ LPH66: % 後面的 0 表示輸出的數字前面補 0, 後面可以跟著長度 09/02 00:40
→ LPH66: 因此有 %08.2f 這種寫法, 表長度 8 小數點 2 前面補 0 09/02 00:41
→ LPH66: 那 %0.2f 這變成不指定長度, 因此補 0 也無意義 09/02 00:41
→ LPH66: 這並不是你所想的"完整欄位格式"的樣子 09/02 00:43
推 stupid0319: 其實不要常常撿現成的含數來用比較好 09/02 12:25
→ stupid0319: 把浮點數變字串沒有很困難 09/02 12:26
→ bdvstg: 我原本以為題目是要說浮點數的不精確 但突然發現printf 09/02 14:38
→ bdvstg: 會四捨五入(以前都沒注意過XD) 現在有點不確定用意了... 09/02 14:39
→ bdvstg: 給値123.456 卻要印出123.455 (其實是要自己寫轉字串?) 09/02 14:42
→ bdvstg: 不管123.4560000...或是123.4559999... %.3f都是123.456 09/02 14:52
推 Killercat: 重點是有效位數。Float是6還是7位, Double是23位 09/02 18:41
→ Killercat: 總位數只要高於有效位數 就一定會出包 09/02 18:42
→ Killercat: 誒說錯 Double是15位.... 09/02 18:43
→ Killercat: 這大約可以從你整數位的數目估算出你大概剩下幾個有效 09/02 18:44
→ Killercat: 位數可以用在小數位,這是很常見的tuning 09/02 18:44
→ Killercat: C++對這方面支援頂多就多一個不常見的long double而已 09/02 18:45
→ Feis: 有效位數嚴格來說要看進位法 09/02 18:58
→ yvb: 只好 a = 123.456 + 1e13 - 1e13; 了 09/03 17:09