引用:
daidai寫到:
暈@@...實際將字串"0200"到"0220"輸入....eval(x)答案分別為
"0200" => 128
"0201" => 129
"0202" => 130
"0203" => 131
"0204" => 132
"0205" => 133
"0206" => 134
"0207" => 135
"020
8" => 208
"020
9" => 209
"0210" => 136
"0211" => 137
"0212" => 138
"0213" => 139
"0214" => 140
"0215" => 141
"0216" => 142
"0217" => 143
"021
8" => 218
"021
9" => 219
"0220" => 144
字串"0201"使用eval(x.toString())印出的還是129..@@
規則不知道是什麼...不過的確...我上述的方式是有錯誤的=.=(沒實際操作)..拍謝~
其實, 規則很容易抓出來
0###, 以0 為開頭, 會被當作8進位的數字
但是, 如果### 裡面出現8/9, 超過8進位, 所以函式就認定為10進位
所以, 要用這個函式也不困難, 先檢查陣列前方的0, 都刪除, 就不會出錯了 @@
Acute.