UJMLサンプル034:基礎:文字列関数 _string_to_int()(2006/02/09)
今回は文字列の数字を数値(整数)変数に代入するための変換関数を紹介する。
_string_to_int()
_string_to_int()関数は指定された文字列を int型に変換して返します。指定されたstringが数字以外の文字を含む場合は、0を返却します。
定義:
int _string_to_int(string s)
例:
mStr = "1";
mStrInt = _string_to_int(mStr)
ちなみに、UJMLの整数型int は正の整数と負の整数のみが使用可能。分数や小数点は使用できない。UJMLの int はデバイスに関わらず -2,147,483,648 から2,147,483,647 の間の符号付の32ビットの値を2の補数の形で格納している。
それなら、"2147483648"を_string_to_intにかけるとどうなるのか?
0
数値以外の文字が入った引数を渡したときも戻り値は0になる。エラー扱いということだ。
※ちなみに前回がUJMLサンプル032で今回がUJMLサンプル034で033が無い。これは、本来「何を作るか?UJMLのCMをUJMLで作る」がUJML033になるはずだったのだが、手をいれすぎてソースコードを公開できるレベルにならなかったからだ。033は永久欠番となった。
★---コード
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.5//EN"
"http://www.uievolution.com/dtd/ujml-1.5.dtd" [
]>
<!-- http://uiengineda.blogs.com 文字列操作の練習 -->
<ujml>
<application>
<variables>
<var name="mStr" type="string"/>
<var name="mStrInt" type="int"/>
</variables>
<script>
<!-- 文字列の1 -->
mStr = "425460086";
<!-- 文字列の1を整数変数に代入 -->
mStrInt = _string_to_int(mStr);
</script>
<display>
<multi-label>
<text><eval>mStrInt</eval></text>
<width><eval>_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;)</eval></width>
<height><eval>_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;)</eval></height>
<bg>&_COLOR_WHITE;</bg>
</multi-label>
</display>
</application>
</ujml>
コメント