我正在尝试将NSArray
中所有数字的总和加起来。
我完全可以做到这一点,但我有一个问题。它取出了我的数组中数字的小数点。
对象的实际价格是R59.95,当我NSlog
时,输出会被带走.95并且只保留59?
NSInteger sumq = 0;
for (NSNumber *num in [self.viewOrderSummaryArray valueForKey:@"price"] )
{
sumq += [num intValue];
NSLog(@"efeferwerwerwerwerwerw %ld", (long)sumq);
}
2014-09-19 11:05:25.016 FoodApp[25254:19075256] Output of Sum of numbers 59
答案 0 :(得分:1)
试试这个
float sumq = 0;
NSArray *array = [self.viewOrderSummaryArray valueForKey:@"price"];
for (NSNumber *num in array)
{
sumq += [num floatValue];
NSLog(@"efeferwerwerwerwerwerw %f",sumq);
}
答案 1 :(得分:0)
float sumq = 0;
尝试使用NSLog(@"efeferwerwerwerwerwerw %lf", (float)sumq);
答案 2 :(得分:0)
您正在将十进制值转换为整数,这就是消除数字后的数字的原因。所以而不是这一行
sumq += [num intValue];
写
sumq += [num floatValue];
答案 3 :(得分:0)
您可以使用此代码。
float sumq = 0;
for (NSNumber *num in [self.viewOrderSummaryArray valueForKey:@"price"] )
{
sumq += [num floatValue];
NSLog(@"efeferwerwerwerwerwerw %f", sumq);
}
答案 4 :(得分:0)
float sumq = 0;
NSArray *array = [self.viewOrderSummaryArray valueForKey:@"price"];
for (NSNumber *num in array)
{
sumq += [num doubleValue];
NSLog(@"efeferwerwerwerwerwerw %.2f",sumq);
}