Re: 0開頭的數字除法會算錯 @@"

看板Flash作者 (CJ Cat)時間17年前 (2007/10/03 20:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《goodray (ray)》之銘言: : 像是 : trace(0345/1000); : 答案竟然是0.229... : 請問為什麼會這樣,因為我是讓使用者用textfield輸入值 : 很有可能輸入0開頭的數字,那該怎麼處理呢?謝謝! 剛剛有點無聊去翻舊文 XD 這篇是389篇,兩年前了... Flash有兩個global function可以把String轉換成Number 轉換整數用parseInt(string, radix) 轉換小數用parseFloat(string) 其中parseInt可以指定radix,也就是轉換用的底數 在Flash裡面的數字表達方式有以下幾種 1.十進位 - 一般數字輸入就是十進位 2.十六進位 - "0x"開頭的字串,如果沒有指定radix的話 後面接的數字將會被解讀為十六進位 3.八進位 - 這個比較容易被忽略,"0"開頭的字串,在使用parseInt的時候 如果沒有指定radix,radix會被自動設為8 4.科學記號 - 如同工程計算機的輸入,"123e-2"會被parseFloat解讀為1.23 ※parseInt有辦法解讀1, 2, 3 parseFloat則可以解讀1, 4 為了不要讓奇奇怪怪的輸入字串搞混 建議在使用parseInt的時候,如果是要解讀十進位 都要明確指定radix = 10 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.74.207 ※ 編輯: cjcat2266 來自: 61.228.74.207 (10/03 20:01)
文章代碼(AID): #170uHf8- (Flash)
討論串 (同標題文章)
文章代碼(AID): #170uHf8- (Flash)