我有一个问题,我无法用数字修复,我会解释。 在我的代码中的某一点,我调用一个返回int的函数,然后我将它除以并有一个带有两个小数位的浮点数。
我的Ex 69033792 Fuzion回来了,我想要除以1024和67415.81 我写了
NSInteger mem_0 = [self printMemoryInfo:@"0"];
[self.mem1 setText:[NSString stringWithFormat:@"%.2f",(mem_0/1024f)]];
但我没有返回小数部分......出了什么问题?
感谢
答案 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:
。