我正在构建一个计算器,并且遇到显示不必要的0的问题(它没有显示它们,我想要它)。
现在做的一个例子如下。 [代表计算器屏幕]
[空白计算器屏幕]
用户点击“4”
[4]
用户点击“。”
[4]
用户点击“0”
[4]
用户点击“0”
[4]
用户点击“5”
[4.005]
相反,我想让它做到以下几点:
[空白计算器屏幕]
用户点击“4”
[4]
用户点击“。”
[4]
用户点击“0”
[4.0]
用户点击“0”
[4.00]
用户点击“5”
[4.005]
我使用数字格式化程序,如下所示......
formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
formatter.maximumIntegerDigits = 13;
formatter.minimumFractionDigits = 0;
formatter.maximumFractionDigits = 13;
formatter.maximumSignificantDigits = 13;
formatter.usesGroupingSeparator = YES;
formatter.groupingSeparator = @",";
formatter.decimalSeparator = @".";
formatter.generatesDecimalNumbers = true;
我使用以下内容来拨打我的号码......
buttonScreen.text = [formatter stringFromNumber:
[NSNumber numberWithDouble:currentNumber]]
谢谢!
答案 0 :(得分:1)
它没有给你零,因为4是4,4.0,4.00等的确切浮点表示。我建议你将用户输入存储到NSString *
中,然后将其转换为{NSNumber
1}}当你需要做实际数学时。
答案 1 :(得分:0)
您可以通过在“=”之前不评估输入或按下操作键来解决此问题。
您只需添加到字符串并在完成条目后将字符串转换为正确的数字,因为已按下其他键。