Ios Objective-C中长值的指数数
我想将表示指数的字符串转换为长值。有人知道如何在Objective-C中进行转换吗Ios Objective-C中长值的指数数,ios,objective-c,Ios,Objective C,我想将表示指数的字符串转换为长值。有人知道如何在Objective-C中进行转换吗 我的指数是“9.91350253E8”你可以这样使用- NSString*str=@“9.91350253E8” 长期温度=str.longLongValue NSLog(@“长-%ld”,临时) 试试这个。这个“数字”是字符串吗?这个指数数字使用了什么数据类型?i、 是字符串还是其他?请看apple doc@Borrden:这是一个字符串…在这种情况下,请按照Ashim的答案。您测试过这个吗?我相信它会返回“9
我的指数是“9.91350253E8”你可以这样使用- NSString*str=@“9.91350253E8” 长期温度=str.longLongValue NSLog(@“长-%ld”,临时)
试试这个。这个“数字”是字符串吗?这个指数数字使用了什么数据类型?i、 是字符串还是其他?请看apple doc@Borrden:这是一个字符串…在这种情况下,请按照Ashim的答案。您测试过这个吗?我相信它会返回“9”,因为它不够聪明,无法从这种格式转换。@Borrden-是的,它返回9。返回时长值应为9否,长值应为991350253。请看->@borrrden-哦,好的。谢谢你的指导。-1,肯定是个错误的答案。回答得好!唯一要小心的是,这将失败取决于您的地理区域。例如,在法国,
NSDecimalNumber
将使用逗号而不是句号。要解决此问题,还应使用指定区域设置的版本。在编辑中添加了区域设置。。。。它主要是NSDictionary*l=[NSDictionary Dictionary WithObject:@.”forKey:NSLocaledCimalSeparator]代码>
NSString *str = @"9.91350253E8";
NSDictionary *l = [NSDictionary dictionaryWithObject:@"." forKey:NSLocaleDecimalSeparator];
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:str locale:l];
NSLog(@"%lld", [number longLongValue]);