- ベストアンサー
【ActionScript】Number( )で文字列を数値に変換できない?
FLASH8(Win-XP)使用者です。 「050」→「50」のように文字列を数値に変換したいのですが、なぜか Number( ) ではうまくいきません。 <例> aa = "050"; zz = Number(aa); trace(zz); →出力はなぜか「40」 zz = parseInt(aa, 10); という方法もありますが小数の場合は小数点以下切り捨てられてしまうし・・ なにか万能な方法はないものでしょうか? お詳しい方、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#39970
回答No.2
>なぜ8進数 http://www.fumiononaka.com/TechNotes/Flash/FN0109004.html 0で始まる数値は8進数として扱われる
その他の回答 (2)
noname#39970
回答No.3
>バグ バグじゃなくて仕様 紹介したページはverによって8進数としてであっても意図しない変換をする場合がある事に関して書かれている。 0xで始まると16進数 0で始まると8進数であるべき と。 10進数変換をしたいのなら文字列頭の0を最初に全て削除する仕掛けが要るという事
noname#39970
回答No.1
それは 050 が8進数として認識されてしまいっているから。 8進数の050は 10進数の40 よってその変換は正しい
質問者
お礼
え?? なぜ8進数なんでしょう?
お礼
バグですか… ありがとうございました。