今回は、文字列と数値の変換を相互に行う為にはどうしたら良いの?って時に目を通して下さい。
基本的な数値から浮動小数点系の変換まで解説します。
- NSStringからNSInteger
- NSIntegerからNSString
- NSStringからint
- NSStringからfloat
- NSStringからdouble
- NSStringからlong
- NSStringからBOOL
- 数値等から文字列への変換
NSStringからNSInteger
まずは文字列から数値への変換です。
いわゆるObjective-CではNSStringからNSIntegerへの変換ですね。
まずは実際のコードから。
NSString* string = @"1234"; NSInteger integer = [string integerValue];文字列クラスであるNSStringでは数値変換用のメソッドが用意されています。
なので、文字列のインスタンスからintegerValueメソッドを叩く事で、文字列を数値に変換して返却してくれます。
NSIntegerからNSString
続きまして、NSIntegerからNSStringへの変換です。
数値から文字列への変換ですね。
まずは実際のコードから。
NSInteger integer = 1234; NSString* string = [NSString stringWithFormat:@"%d",integer];数値から文字列に変換するには、文字列から数値に変換した時の様に
専用のメソッドが容易されているわけではありません。
NSIntegerからNSStringへ変換するにはNSStringのクラスメソッドであるstringWithFormatメソッドにて
数値を文字列へフォーマットしてあげます。
他にも、文字列からの型変換は様々な型への専用変換メソッドが用意されています。
NSStringからint
NSStringからint型への変換ではintValueメソッドを使います。
NSString* string = @"1234"; int num = [string intValue];
NSStringからfloat
NSStringからfloat型への変換ではfloatValueメソッドを使います。
NSString* string = @"12.347"; float num = [string floatValue];
NSStringからdouble
NSStringからdouble型への変換ではdoubleValueメソッドを使います。
NSString* string = @"12.347"; double num = [string doubleValue];
NSStringからlong
NSStringからlong型への変換ではlongLongValueメソッドを使います。
NSString* string = @"12.347"; long num = [string longLongValue];
NSStringからBOOL
NSStringからBOOL型への変換ではboolValueメソッドを使います。
NSString* string = @"1"; BOOL isB = [string boolValue];
数値等から文字列への変換
また、NSIntegerからNSStringへの変換の様に、様々な型から文字列へ変換するには
stringWithFormatにて文字列へフォーマットする事で可能です。
NSString* str = [NSString stringWithFormat:@"%f", 12.4];
久しぶりにObjective-Cを触ると、意外と忘れている基本的な事が多いのなんの。
基本的な事ですが、度忘れ防止の為に良く使う型変換についてメモを残しておきます。
キャストは基本であり間違った使い方をすると大変な事になりますが、
基本をしっかり身に付け、効果的に使って行きたいですね。