打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
iOS float类型失真的问题,去掉浮点多余位

对于这个问题,也只有金融行业会使用到,代码如下
((float)(round(i*1000.0)/1000))
1000 代表保留到三位小数,这样我们可以过滤掉0.05000008这样的异常数据,倒是程序出现错误,

在看一段循环计算代码,经过下面这样计算才算正确的使用,不再有失真的数据了,

    for (float i = 0.0f ; ((float)(round(i*1000.0)/1000))<= (((int)stopLossingIndex)*(float)(roundf(priceStep*1000.0)/1000)); i+=(float)(roundf(priceStep*1000.0)/1000)) {        i = (float)(round(i*1000)/1000);        if (i!=0.0f){             NSLog(@"i=%f",i);//            NSString * forstr = [NSString stringWithFormat:@"%.2f",i];            [tmpStopLossing addObject:[NSString stringWithFormat:@"%g",i]];            NSLog(@"%@",tmpStopLossing);        }    }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
博客园 - 喻祥,性情中人 - java浮点运算精度问题的解决
NSString与int和float的相互转换
php7.1使用round后精度不准确问题解决方案
IOS中十六进制的颜色转换为UIColor
OC各种数据类型之间的转换方法
EXCEL技巧二十四:六种个人所得税扣除3500元的新算法。
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服