嗨我有一个NSString floatValue函数的问题,如果用户插入超过六位十进制数的floatValue函数Round数据。
NSString *String = @"9.999999";
NSLog(@"Var Float: %f",[String floatValue]);
结果9.999999
NSString *String = @"9.9999999";
NSLog(@"Var Float: %f",[String floatValue]);
结果10 ??????
有人可以帮我解决吗? 提前谢谢!
答案 0 :(得分:5)
您不能使用float来管理数字精度 使用NSDecimalNumber
NSString *Stringa = @"9.9999999";
NSDecimalNumber *Decimal = [[NSDecimalNumber alloc] initWithString:Stringa];
NSLog(@"Var Float: %f",[Decimal floatValue]);
NSLog(@"Var Float: %@",[Decimal stringValue]);