请教关于字符串转换float的问题
NSString *str = @"4.03";
float f = [str floatValue];
为什么f为4.030000002 后面哪来这么多小数?
请问如何让转换之后还是4.03
[解决办法]
long tmp = f * 1000;//放大1000倍取小数后3位
f = tmp / 1000.0;
[解决办法]
//使用 sprintf 和 sscanf实现吧。
char buf[256];
float f = 4.030002;
snprintf(buf,sizeof(buf),"%.3f",f);//关键是利用了snprintf的格式功能
sscanf(buf,"%f",&f);