如何在Objective-C中进行字符串转换?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

我想把一个字符串转换成一个双字符串,在对它进行一些数学运算之后,把它转换回一个字符串。

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

提问于
用户回答回答于

要真正从字符串转换为数字,你需要使用NSNumberFormatter。

不同的区域设置会以不同的格式编号 例如,在世界的一些地方,COMMA被用作十进制分隔符,而在其他地方PERIOD用作千位分隔符。

这真的取决于输入的来源。要做的最安全的事情就是配置一个NSNumberFormatter输入格式化的方式,并用-[NSFormatter numberFromString:]来获取NSNumber。如果你想处理转换错误,你可以使用-[NSFormatter getObjectValue:forString:range:error:]

用户回答回答于

你可以将NSString转换为double

double myDouble = [myString doubleValue];

四舍五入到最接近的int可以被变成:

int myInt = (int)(myDouble + (myDouble>0 ? 0.5 : -0.5))

除了下面的,应该没有有更简单的方法来转换回字符串了:

NSString* myNewString = [NSString stringWithFormat:@"%d", myInt];

扫码关注云+社区

领取腾讯云代金券