首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在objective-c中将UTF8字符串转换为浮点值

如何在objective-c中将UTF8字符串转换为浮点值
EN

Stack Overflow用户
提问于 2010-12-02 01:18:19
回答 4查看 1.5K关注 0票数 0

我这里的问题是:我有一个包含" 1.7“的NSString (例如),我必须得到浮点数=1.7我已经用[mystring floatValue]试过了,但结果是1.700000000004576如果我试着用"1.74”,结果是1.7400000000000000000067484我该怎么解决它?谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-02 02:00:28

解决了!我使用了sqlite3_bind_text,即使我的数据库属性是浮点值,而且我使用的是mystring而不是myfloat,它工作得很好!谢谢!

票数 0
EN

Stack Overflow用户

发布于 2010-12-02 01:34:24

您可以正确地将字符串转换为浮点型。问题是浮点数不能精确地表示所有的实数。直接分配:

代码语言:javascript
代码运行次数:0
运行
复制
float x = 1.7;

仍然会有一个精度误差。这就是浮点数的含义。

解决方法取决于您的需求。一些例子:如果你需要更精确的数学计算,你可以使用双精度。如果您试图为用户生成输出,则可以格式化输出,以限制小数点后显示的位数。如果您正在处理货币,您可以将浮点美元金额转换为美分的整数,并使用整数执行所有计算,只在输出中向用户显示一个小数点。

票数 2
EN

Stack Overflow用户

发布于 2010-12-02 01:40:59

浮点数需要能够表示无限多的实数,但浮点数包含有限数量的位,因此浮点数是近似值。

有关详细信息,请参阅this article

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4327051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档