首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

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

2013-11-29 
请教关于字符串转换float的问题NSString *str @4.03float f [str floatValue]为什么f为4.03000000

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

热点排行