NSString *str = @"4.03";
float f = [str floatValue];为什么f为4.030000002 后面哪来这么多小数?
请问如何让转换之后还是4.03
float f = [str floatValue];为什么f为4.030000002 后面哪来这么多小数?
请问如何让转换之后还是4.03
解决方案 »
- 如果只有3K的资金用来做ios开发,是选择买个mac呢还是选择买个iphone呢
- 如何禁止文本框弹出“copy|cut|select all”菜单
- uitextfield 不显示leftview
- iphone上怎样实现图片裁剪的功能
- iPhone上做什么软件会赚钱?
- iphone 网络编程 如何发送字节
- Xcode 5 ios 7 编译静态库的问题?
- IOS AFNetworking数据缓存
- iOS的Base64编码的几个选项应该选哪一个
- 如何解决GoogleMaps中MyLocation在中国内部的偏移?
- ios 开发,让uitableviewcell自适应图片高度,宽度固定,再者是按比例缩放
- 请教各位前辈。。。
f = tmp / 1000.0;
long tmp = f * 1000;
f = tmp / 1000.0;
cout << f << endl;
不要忘记/1000.0不是除1000,除1000会是4这个是最简单的方法了
有的,我的测试代码
NSString *s = @"4.03";
float f = [s floatValue];
long l = f * 1000;
f = l / 1000.0;
通过断点,f为4.0300002
Press any key to continue这是我的vc6.0输出结果#include <iostream.h>
#include <stdio.h>
void main()
{
float f = 4.3020003;
long tmp = f * 1000;
f = tmp / 1000.0;
//printf("%.3f", f);
cout << f << endl;
}
char buf[256];
float f = 4.030002;
snprintf(buf,sizeof(buf),"%.3f",f);//关键是利用了snprintf的格式功能
sscanf(buf,"%f",&f);