如何将数组的所有对象(总和)加起来(带小数)并在UILabel中显示结果?

时间:2013-02-26 04:01:17

标签: iphone arrays sdk sum

在开发我的应用程序后,我遇到了一个小问题。我有一个名为priceArray的数组,用户可以添加对象。在这种情况下,将添加@“1.50”或@“5.61”等对象。我有以下代码来添加它们,但它完全忽略了小数。例如,如果数组有两个对象,@“1.50”和@“20.00”,则标签将显示21而不是21.50。

int sum=0;
for(int x=0; x < [priceArray count]; x++)
{
    sum += [[priceArray objectAtIndex:x] intValue];
}

budgetLabel.text = [NSString stringWithFormat:@"$%d", sum];

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

您的sum变量是int类型,因此小数部分将被截断(不会舍入 - 只是简单地删除)。相反,sum应为doublefloat类型。

float sum=0;
for(int x=0; x < [priceArray count]; x++)
{
    sum += [[priceArray objectAtIndex:x] floatValue];
}

budgetLabel.text = [NSString stringWithFormat:@"$%.2f", sum];

答案 1 :(得分:0)

你需要使用float。

float sum=0;
for(int x=0; x < [priceArray count]; x++)
{
    sum += [[priceArray objectAtIndex:x] floatValue];
}

budgetLabel.text = [NSString stringWithFormat:@"$%f", sum];

整数是圆数。 21是圆的,21.5不圆。

答案 2 :(得分:0)

遵循此代码 -

float sum = 0.0;
for (int x = 0; x<[priceArray count]; x++)
{
    sum += [[priceArray objectAtIndex:x] floatValue];
}

budgetLabel.text = [NSString stringWithFormat:@"%f",sum];

我希望这会对你有所帮助。