在开发项目的时候,需要显示金额数,例如:99.99 ;
NSLog(@"%@", @99.99);
但是很坑爹的是,不知道为什么,打印出来居然是99.98999999999999
2015-09-21 20:51:14.027 test[22562:295012] 99.98999999999999
很明显这里面少了0.00000000000001,和我们想要的效果不一致;
上面的这个问题我在查阅资料的时候,发现唐巧也介绍过这个问题,下面就给出我的解决方案:(也给自己做个记录)
NSDecimalNumber *decimalNumber = [NSDecimalNumber decimalNumberWithString:[ NSString stringWithFormat:@"%f",[@99.99 doubleValue]]];
NSLog(@"%@", decimalNumber);
打印出来的值:
2015-09-21 20:56:23.898 test[22608:298001] 99.99
最后如有更好的方法,欢迎大家留言。