• ベストアンサー

【ActionScript】Number( )で文字列を数値に変換できない?

FLASH8(Win-XP)使用者です。 「050」→「50」のように文字列を数値に変換したいのですが、なぜか Number( ) ではうまくいきません。 <例> aa = "050"; zz = Number(aa); trace(zz); →出力はなぜか「40」 zz = parseInt(aa, 10); という方法もありますが小数の場合は小数点以下切り捨てられてしまうし・・ なにか万能な方法はないものでしょうか? お詳しい方、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#39970
noname#39970
回答No.2

>なぜ8進数 http://www.fumiononaka.com/TechNotes/Flash/FN0109004.html 0で始まる数値は8進数として扱われる

ikataro
質問者

お礼

バグですか… ありがとうございました。

その他の回答 (2)

noname#39970
noname#39970
回答No.3

>バグ バグじゃなくて仕様 紹介したページはverによって8進数としてであっても意図しない変換をする場合がある事に関して書かれている。 0xで始まると16進数 0で始まると8進数であるべき と。 10進数変換をしたいのなら文字列頭の0を最初に全て削除する仕掛けが要るという事

noname#39970
noname#39970
回答No.1

それは 050 が8進数として認識されてしまいっているから。 8進数の050は 10進数の40 よってその変換は正しい

ikataro
質問者

お礼

え?? なぜ8進数なんでしょう?

関連するQ&A