除以int并返回一个浮点数

时间:2011-11-17 07:38:21

标签: iphone objective-c function

我有一个问题,我无法用数字修复,我会解释。 在我的代码中的某一点,我调用一个返回int的函数,然后我将它除以并有一个带有两个小数位的浮点数。

我的Ex 69033792 Fuzion回来了,我想要除以1024和67415.81 我写了

NSInteger mem_0 = [self printMemoryInfo:@"0"];
    [self.mem1 setText:[NSString stringWithFormat:@"%.2f",(mem_0/1024f)]];

但我没有返回小数部分......出了什么问题?

感谢

2 个答案:

答案 0 :(得分:2)

myDouble = [[NSNumberFormatter alloc] init]; 
[myDouble setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[myDouble setNumberStyle:NSNumberFormatterDecimalStyle];
[myDouble setRoundingMode:NSNumberFormatterRoundHalfUp];
[myDouble setMinimumFractionDigits:0];
[myDouble setMaximumFractionDigits:2];
    NSInteger mem_0 = [self printMemoryInfo:@"0"];
    [self.mem1 setText:[myDouble stringFromNumber:[NSNumber numberWithDouble: mem_0/1024]]];
    [myDouble release];

答案 1 :(得分:1)

你应该得到编译时错误“十进制常量中的无效数字'f',因为1024f不合法。你需要这样说:

[self.mem1 setText:[NSString stringWithFormat:@"%.2f",(mem_0/1024.0f)]];

或者您可以在没有1024.0的情况下说出f,因为无论如何它都将作为双倍传递给stringWithFormat: