1

たとえば、文字列を変換したい

NSString *stringWithNumber = @"3/4"

NSNumber。これはどのように可能ですか?

4

2 に答える 2

4

分数だけをn/m扱っていて、分数の結果を表す数値が必要な場合は、次のようにすることができます

NSString *fraction = @"3/4";
NSArray *components = [fraction componentsSeparatedByString:@"/"];
float numerator = [components[0] floatValue];
float denominator = [components[1] floatValue];
NSNumber *result = @(numerator/denominator);
NSLog(@"%@", result); // => 0.75

もちろん、これは不正な文字列の場合に簡単に壊れる可能性があるため、上記の計算を実行する前に形式を確認することをお勧めします。

ノート

入力された分数がネイティブの浮動小数除算と互換性のある形式を持っている場合、David の答えは間違いなく私のものよりも洗練されていて不格好ではありません。のような入力がある場合@"3/4"、期待どおりに機能しないため、上記で提案したようなことを行う必要があります。

要するに、要件をより適切に指定する必要があります。

于 2013-06-27T15:23:35.433 に答える