字符串加倍

时间:2011-09-26 12:38:51

标签: iphone objective-c xcode double

我希望你能帮助我解决这个“小问题”。我想将一个字符串转换为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];

但都没有成功。

3 个答案:

答案 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)。