在开发我的应用程序后,我遇到了一个小问题。我有一个名为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];
提前感谢您的帮助!
答案 0 :(得分:2)
您的sum
变量是int
类型,因此小数部分将被截断(不会舍入 - 只是简单地删除)。相反,sum
应为double
或float
类型。
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];
我希望这会对你有所帮助。