我希望你能帮助我解决这个“小问题”。我想将一个字符串转换为double / float。
NSString *stringValue = @"1235";
priceLabel.text = [NSString stringWithFormat:@"%d",[stringValue doubleValue]/(double)100.00];
我希望将priceLabel设置为12,35,但我得到一些奇怪的长字符串对我来说没有任何意义。
我试过了:
priceLabel.text = [NSString stringWithFormat:@"%d",[stringValue intValue]/(double)100.00];
priceLabel.text = [NSString stringWithFormat:@"%d",[stringValue doubleValue]/100];
但都没有成功。
答案 0 :(得分:14)
这是将NSString
转换为double
double myDouble = [myString doubleValue];
答案 1 :(得分:13)
您必须使用%f来显示浮点/双精度值。
然后%。2f表示点之后的2位数
NSString *stringValue = @"1235";
NSString *str = [NSString stringWithFormat:@"%.2f",[stringValue doubleValue]/(double)100.00];
NSLog(@"str : %@ \n\n",s);
priceLabel.text = str;
<强>输出:强>
str:12.35
答案 2 :(得分:1)
我认为你的格式字符串错误。你在哪里:
[NSString stringWithFormat:@"%d", ...];
你真的应该:
[NSString stringWithFormat:@"%f", ...];
%d
用于整数值。但是你试图显示一个浮点数(%f
)。