2017年6月29日木曜日

16進数を10進数に変換する。

前回作成したDEC2HEX.melの逆、16進数を10進数に変換するMELを作成してみました。
HEX2DEC.mel

まず、16進数と言うことで a~f までのアルファベットが大文字か小文字かと言う問題がありますが、スクリプト内で
$hex=tolower( $hex );

とする事で小文字のみにして対処しています。


次に16進数とかは接頭辞に「0x」を付けて表すのが習わしだったりしますが、これも付いていたり付いていなかったりするのを解消するため、
$hex=substitute( "0x",$hex,"" );

で計算前に除去。「0x」が無かった場合はスルーなので問題ないはず。

あとは g~z が紛れ込んでいた場合なんですが、何も対策していない・・・。
なにかエラー処理を入れておくべきなのでしょうが、ここは変な文字列が来ないことを祈るしかない。


------

pythonコマンドを使用することで簡単に処理する事ができます。
  mayaLTでPythonを実行する


0 件のコメント:

コメントを投稿