14

私は、スキャナーを使用して、x と y などの文字列から NSNumbers にアクセスするコードを開発しています。

ここで、x と y から単純なものを計算したいと思います。たとえば、z = 10.0/(x + y/60.0)/60.0) です。コンパイラは数値オブジェクトに適用される通常の算術記号を好まないため、これを直接行うことはできません。

そこで、double 型の xD と yD を​​定義してから、型変換を試みました。

xD = (ダブル) x; yD = (ダブル) y;

しかし、それもコンパイルエラーになります。NSNumber オブジェクトを通常の算術式で使用できるように変換するにはどうすればよいでしょうか? 文献をかなり閲覧しましたが、答えが見つかりませんでした。

助けてくれてありがとう。

ジョン・ドナー

4

1 に答える 1

35

などの NSNumber クラスの「値」メソッドを使用しdoubleValueます。

// Initialized to something earlier
NSNumber * x, y;

//Convert NSNumbers to double
double xD = [x doubleValue]; 
double yD = [y doubleValue];

// You can now use regular arithmetic operators
double zD = 10.0 / ((x + y / 60.0) / 60.0);
于 2009-11-26T02:16:07.193 に答える