Xcode4 Xcode[NSString floatValue]舍入问题

Xcode4 Xcode[NSString floatValue]舍入问题,xcode4,nsstring,rounding,Xcode4,Nsstring,Rounding,您好,我对NSString floatValue函数有一个问题,如果用户插入超过六个十进制数的floatValue函数四舍五入数据 NSString *String = @"9.999999"; NSLog(@"Var Float: %f",[String floatValue]); 结果9.99999 NSString *String = @"9.9999999"; NSLog(@"Var Float: %f",[String floatValue]); 结果10 有人能帮我解决吗? 提前

您好,我对NSString floatValue函数有一个问题,如果用户插入超过六个十进制数的floatValue函数四舍五入数据

NSString *String = @"9.999999";
NSLog(@"Var Float: %f",[String floatValue]);
结果9.99999

NSString *String = @"9.9999999";
NSLog(@"Var Float: %f",[String floatValue]);
结果10

有人能帮我解决吗?
提前谢谢

不能使用float来管理数字精度 使用小数

NSString *Stringa = @"9.9999999";
NSDecimalNumber *Decimal = [[NSDecimalNumber alloc] initWithString:Stringa];
NSLog(@"Var Float: %f",[Decimal floatValue]);
NSLog(@"Var Float: %@",[Decimal stringValue]);

不能使用浮点来管理数字精度 使用小数

NSString *Stringa = @"9.9999999";
NSDecimalNumber *Decimal = [[NSDecimalNumber alloc] initWithString:Stringa];
NSLog(@"Var Float: %f",[Decimal floatValue]);
NSLog(@"Var Float: %@",[Decimal stringValue]);

我的字符串值是2499.255,转换为2499.25488,在这种情况下,NSDECIMAL NUMBER to不会给我精确的值。使用[Decimal doubleValue],它将非常接近。我的字符串值是2499.255,转换为2499.25488,在这种情况下,NSDECIMAL NUMBER to不会给我精确的值。使用[Decimal doubleValue],它会更近