我需要从 UITextEdit 中获取一个非常大的浮点值的字符串,并将其转换为 long,以便我可以在计算中使用它。我尝试过使用双精度,但它们不够大,所以我希望将字符串变成长字符串。输入的值始终只有 2 位小数。
任何帮助都会很棒。
谢谢
我需要从 UITextEdit 中获取一个非常大的浮点值的字符串,并将其转换为 long,以便我可以在计算中使用它。我尝试过使用双精度,但它们不够大,所以我希望将字符串变成长字符串。输入的值始终只有 2 位小数。
任何帮助都会很棒。
谢谢
这是将 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];
您可以使用 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]);
由于该数字最多只能有 2 位小数,因此您可以长存储一个等于 100 * 您的数字的值。如果数字总是有 2 个小数(即使它们都是 0),那么您可以执行以下操作:
NSString *text = @"934968.34";
text = [text stringByReplacingOccurencesOfString:@"." withString:@""];
long long number = [text longLongValue];
您还可以为只有 1 个小数的情况添加一些代码(当检测到这种情况时,最后应该有 number = number * 10)或没有(在这种情况下,number = number * 100)