首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将字符串转换为双精度,反之亦然?

如何将字符串转换为双精度,反之亦然?
EN

Stack Overflow用户
提问于 2008-10-04 07:36:01
回答 11查看 278K关注 0票数 147

我想把一个字符串转换成一个双精度型,然后对它做一些数学运算,然后再把它转换回一个字符串。

我如何在Objective-C中做到这一点?

有没有办法把一个双精度数也舍入到最接近的整数?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2008-10-04 07:45:09

您可以使用以下命令将NSString转换为double

代码语言:javascript
复制
double myDouble = [myString doubleValue];

然后,四舍五入到最接近的整数可以如下所示

代码语言:javascript
复制
int myInt = (int)(myDouble + (myDouble>0 ? 0.5 : -0.5))

老实说,我不确定有没有比这更简单的转换回字符串的方法

代码语言:javascript
复制
NSString* myNewString = [NSString stringWithFormat:@"%d", myInt];
票数 234
EN

Stack Overflow用户

发布于 2008-10-04 19:10:32

要真正正确地将字符串转换为数字,需要使用为读取字符串的区域设置配置的NSNumberFormatter实例。

不同的区域设置会有不同的数字格式。例如,在世界上的一些地方,COMMA被用作小数点分隔符,而在另一些地方,它是PERIOD - and,千位分隔符(在使用时)被颠倒过来。除非它是一个空格。或者根本不存在。

这真的取决于输入的来源。最安全的做法是根据输入的格式配置NSNumberFormatter,并使用-[NSFormatter numberFromString:]从其中获取NSNumber。如果你想处理转换错误,你可以使用-[NSFormatter getObjectValue:forString:range:error:]

票数 71
EN

Stack Overflow用户

发布于 2008-10-04 17:37:56

除了olliej的答案之外,你还可以用NSNumberstringValue将整型值转换回字符串

代码语言:javascript
复制
[[NSNumber numberWithInt:myInt] stringValue]

NSNumber上的stringValue调用descriptionWithLocale:nil,为您提供值的本地化字符串表示。我不确定[NSString stringWithFormat:@"%d",myInt]是否会给你一个适当本地化的myInt表示。

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

https://stackoverflow.com/questions/169925

复制
相关文章

相似问题

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