文字列型の値を数値型の値に変換する : Objective-C プログラミング

PROGRAM


文字列型の値を数値型の値に変換する

Objective-C では、NSString 型の文字列を NSInteger 型の数値に簡単に変換できるようになっています。

// string という名前の NSString 型の値を NSInteger 型に変換します。

NSInteger value = [string integerValue];

このように、NSString 型のインスタンスが持つ "integerValue" メソッドを呼び出すことで、文字列の内容を数値に見立てて NSInteger 型の変数に変換することができます。

 

このとき NSString 型の変数に、数値として解釈できない文字列が格納されている場合でも、エラーにはならないようでした。

数字で始まらない文字列であれば、数値の 0 が取得される様子です。また、数字で始まる文字列の場合は、文字列が現れるまでの数字を数値として取得されるようでした。

 

このような感じのため、必ずしも数値としての文字列とは限らない用途での NSString 型の値では、思いがけない誤動作に繋がる恐れがあるので注意が必要です。

必要に応じて何らかの方法で、保持している文字列が数値として解釈できるかを調べてから使用するのが良さそうです。ただ、、そのようなメソッドは NSString には標準では用意されていないので、自分で作る必要があります。

[ もどる ]