【发布时间】:2012-02-17 12:33:29
【问题描述】:
我正在从一个 XML 文件中解析一些顶点信息,该文件如下所示(部分摘录):
21081.7 23447.6 2781.62 24207.4 18697.3 -2196.96
我将字符串保存为 NSString,然后转换为浮点值(稍后我将输入到 OpenGL ES)
NSString * xPoint = [finishedParsingArray objectAtIndex:baseIndex];
NSLog(@"xPoiint is %@", xPoint);
float x = [xPoint floatValue];
问题是 float x 改变值如下:
21081.699219, 23447.599609, 2781.620117, 24207.400391, 18697.300781, -2196.959961
如您所见,它正在更改小数位数(不确定它是如何做到的 - 必须在 xml 文件中隐藏格式?)
我的问题是如何存储浮点数以匹配 NSString / XML 文件中的原始数字到相同的小数位数?
提前致谢!
【问题讨论】:
-
您无法转换为浮动,并且不会发生这种情况。
-
但请注意,您可以通过在显示浮点值时简单地格式化浮点值来轻松恢复类似于原始格式的内容。例如 "%4.2f" 会给你小数点后两位的数字。
-
我需要将浮点数传递给 OpenGL,因此需要更改实际值,而不仅仅是显示值。
标签: ios objective-c floating-point nsstring