-2

我需要从 UITextEdit 中获取一个非常大的浮点值的字符串,并将其转换为 long,以便我可以在计算中使用它。我尝试过使用双精度,但它们不够大,所以我希望将字符串变成长字符串。输入的值始终只有 2 位小数。

任何帮助都会很棒。

谢谢

4

3 回答 3

1

这是将 string 转换为 long long int 并将 long long int 转换为 string 的示例;

// Converting string to long long int
NSString *text = @"12345678998765";
long long int num = [text longLongValue];

// Converting back to string
NSString *backToString = [@(num) stringValue];
于 2013-11-06T11:13:41.687 回答
0

您可以使用 NSString 方法longLongValue转换stringlong

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 回答
0

由于该数字最多只能有 2 位小数,因此您可以长存储一个等于 100 * 您的数字的值。如果数字总是有 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 回答