-2

非常に大きな float 値である UITextEdit から文字列を取得し、それを long に変換して、計算で使用できるようにする必要があります。double を使用してみましたが、十分な大きさにならないため、文字列を long にすることを望んでいました。入力された値には、常に小数点以下 2 桁のみが含まれます。

どんな助けでも素晴らしいでしょう。

ありがとう

4

3 に答える 3

0

数値は小数点以下 2 桁までしか使用できないため、100 * 数値に等しい値を long に格納できます。数値に常に 2 つの小数がある場合 (両方が 0 の場合でも)、次のようにすることができます。

NSString *text = @"934968.34";
text = [text stringByReplacingOccurencesOfString:@"." withString:@""];
long long number = [text longLongValue];

小数が 1 つしかない場合 (このケースが検出された場合、最後に number = number * 10 があるはずです) または何もない場合 (この場合、number = number * 100) のコードを追加することもできます。

于 2013-11-06T11:32:19.920 に答える
0

NSString メソッドlongLongValueを使用して変換stringできますlong

NSString *text = @"Your long number string";
long longNum = (long) [ text longLongValue];
NSLog(@"num = %ld", num);

or 

NSNumberFormatter * numFormatter = [[NSNumberFormatter alloc] init];
[numFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *num = [numFormatter numberFromString:text];
NSLog(@"long Number: %llu", [num longLongValue]); 
于 2013-11-06T10:55:41.660 に答える