gpt4 book ai didi

ios - NSNumber numberFromString 不放置小数

转载 作者:行者123 更新时间:2023-11-29 02:14:06 26 4
gpt4 key购买 nike

我正在尝试将 NSString 转换为 NSNumber,但它似乎会在此处产生小数点问题。

NSString *str = @"515.51515";

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:str];
NSLog(@"Number here:%@",myNumber);
[f release];

& 结果打印是2015-03-01 08:09:28.353 myApp [57376:2086924] 此处编号:515.5151499999999

此处为实际调试日志图片

enter image description here

但实际上它应该是515.51515而不是515.5151499999999

我尝试了所有与 f.usesSignificantDigits & f.maximumFractionDigits =10 的组合,但没有成功。
请让我知道如何解决这个问题?

最佳答案

RMaddy 是正确的, float 会有点偏差。

因为 NSDecimalNumber 是一个 NSNumber,你可以使用:

NSNumber *number = [NSDecimalNumber decimalNumberWithString:@"515.51515"];

关于ios - NSNumber numberFromString 不放置小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28945755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com