-2

我有一个简单的应用程序,我试图将两个 NSStrings 添加在一起并在标签中生成值。

NSString *one= @"0.00";
NSString *two= @"20.15";

NSString *total = [[NSString alloc]  initWithFormat:@"%d",[one integerValue] + [two integerValue]];

label.text = [NSString stringWithFormat:@"%@",total];

这很好用,除了我希望它考虑小数点后的数字。输出变为 20 而不是 20.15。

4

3 回答 3

2

使用浮点数而不是整数

NSString *total = [[NSString alloc]  initWithFormat:@"%f",[one floatValue] + [two floatValue]];

如果要指定 2 位小数,请替换%f%.2f

请注意,在您的示例中[two integerValue]评估为。20从那时起,您将失去小数精度。

于 2013-01-08T02:52:02.343 回答
2

找到 的floatValueNSString不是intValue。整数是整数,因此小数点后的任何内容都将被忽略。

NSString *one= @"0.00";
NSString *two= @"20.15";

NSString *total = [NSString stringWithFormat:@"%f", [one floatValue] + [two floatValue]];

label.text = total;
于 2013-01-08T02:53:45.943 回答
1

整数没有小数。

尝试:

NSString *total = [NSString stringWithFormat:@"%f", [one floatValue] + [two floatValue]];
于 2013-01-08T02:53:28.793 回答