我有一个简单的应用程序,我试图将两个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。
答案 0 :(得分:2)
使用浮点数而不是整数
NSString *total = [[NSString alloc] initWithFormat:@"%f",[one floatValue] + [two floatValue]];
如果您想指定2个小数位,请将%f
替换为%.2f
注意,[two integerValue]
在您的示例中评估为20
。从那时起你将失去小数精度。
答案 1 :(得分:2)
找到floatValue
的{{1}}而不是NSString
。整数是整数,因此忽略小数点后的任何内容。
intValue
答案 2 :(得分:1)
整数没有小数。
尝试:
NSString *total = [NSString stringWithFormat:@"%f", [one floatValue] + [two floatValue]];