Macromedia Flash非公式テクニカルノート

0で始まる数値が0に変わってしまう

ID: FN0109004 Product: Flash

Platform: All
Version: 5.0

1. 現象
0で始まる数値(たとえば012)が、0に変わってしまことがあります。


trace(012);
//出力ウィンドウの結果
0

2. 原因
「0x」で始まる数値は、16進数として扱われます(たとえば、0x10は10進数の16に変換されます)。同様に、「0」で始まる数値は8進数として扱われるべきものです。ところが、現行バージョンFlash Player 5.0r41/42までの段階では、このサポートが正しくされないようです。そのため、0に変換されてしまうことがあります([FN09005]「8進数はサポートされているのか」参照)。

3. 対処法
数字を「0」で始めないように、ご注意ください。0から始まるストリングの数字を10進数の数値に変換するには、'pareseInt'関数を使います。関数について、詳しくは「ActionScript辞書」をご参照ください。


trace (parseInt("012", 10));
//出力ウィンドウの結果
12

_____

作成者: 野中文雄
協力者: Ginga Baba
作成日: 2001年9月7日


© 2001 and beyond Fumio Nonaka All rights reserved.