2012-08-08 141 views
1

如何将NSString转换为char?注 - char不是const char。我有浮点数,我需要将其转换为只剩下.之后的2个值。所以我使用NSString来做到这一点。之后,我需要从中做出NSNumber。所以我决定将NSString转换为char,然后再转换为NSNumber。所以,我想NSString为char(不是const char)

char* someCharINeed = [SomeString UTF8String]; 

它说

Cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' 

如果使用这样的

const char* someCharINeed = [SomeString UTF8String]; 

它的工作原理,但NSNumber的

[NSNumber numberWithChar:someCharINeed]; 

Cannot initialize a parameter of type 'char' with an lvalue of type 'const char *' 

回答

1

而不是转换为一个字符串,另一种方法是将数字乘以100,将答案转换为一个int然后除以100 - 这将给你2个小数点后的位置。

float newValue = floorf(oldValue*100)/100; 
+0

但不int删除'.'后面的任何东西?我的意思是不会像这样发生: int smth = 124.146334; smth = 124 当我需要价值 smth = 124.14? – hockeyman 2012-08-08 06:55:53

+1

这就是为什么你先乘以100。 20.1234 X 100 = 2012.34 - >转换为int = 2012.除以100 = 20.12 – rdelmar 2012-08-08 06:58:03

+0

哦对。非常感谢你 :) – hockeyman 2012-08-08 07:02:45