如何总结2个正浮动和1个负浮动问题

时间:2014-01-17 10:43:36

标签: ios iphone math

计算3个CGFloats时我遇到了一些问题

我有:-34.522 + 39.049 + 0.2889 = ios给了我73

但它应该让我更像是正常的计算器值,如= 4.81

CGFloat x = (46.2076 * -34.522) + (60.3827 * 39.049) + (2.028 * 0.2889);
NSLog(@"d %f",x); ->>  763.291199

2 个答案:

答案 0 :(得分:0)

CGFloat t = -34.522 + 39.049 + 0.2889;
NSLog(@"%f",t);

答案 1 :(得分:0)

我不是百分百确定这是否是你所要求的,但如果你只想要2位数的精度,你必须指定它。使用%.2f通过格式说明符很容易,其中2是小数位后面的位数。

CGFloat x = (46.2076 * -34.522) + (60.3827 * 39.049) + (2.028 * 0.2889);
NSLog(@"d %.2f",x);

或者,也可以使用NSNumberFormatter完成此操作。

NSNumberFormatter *formatter = [NSNumberFormatter new];

[formatter setPositiveFormat:@"#.##"];
NSString *output = [formatter stringFromNumber:@(x)];

NSLog(@"Out: %@",output);