读书人

请问关于字符串转换float的有关问题

发布时间: 2013-11-29 00:21:24 作者: rapoo

请教关于字符串转换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);

读书人网 >Iphone

热点推荐