val関数についてNo.01504
h-tom さん 07/09/19 23:42
 

h-tom です。
仕様の確認です。

val関数に"0100%"とか"111="等を指定しても、"0"にならずに、先頭の数字部分を
変換して返します。
この動作は、保証されている動作なんでしょうか?
#たぶん、strtolを使っていると思うので、大丈夫なんでしょうけど、念のため

[ ]
RE:01504 val関数についてNo.01506
秀丸担当 さん 07/09/20 12:51
 

>val関数に"0100%"とか"111="等を指定しても、"0"にならずに、先頭の数字部分を
>変換して返します。
>この動作は、保証されている動作なんでしょうか?
>#たぶん、strtolを使っていると思うので、大丈夫なんでしょうけど、念のため

通常はatolで、浮動小数点数モードのときはsscanfです。
ただし"0x"で始まる場合は16進数として解釈します。

浮動小数点数モードはもともと数値関係が違う動作なのでいいですが、"0x"の解
釈はV3.14未満では無かったので、厳密には完全な互換性が維持されているわけ
ではないということになります。
大きな理由が無ければ今後も大丈夫だとは思いますが、念のためということであ
れば数字だけを取り出すようにしたほうがいいかもしれません。

[ ]