【发布时间】:2010-11-16 22:41:42
【问题描述】:
我正在编写一个简单的计算器,只是为了开始使用 iPhone 开发。问题是我有一个 (-) 按钮,它应该通过执行简单的*-1 来否定已经放在屏幕上的任何内容。它工作正常,除非前一个输入是0。
场景:在空白屏幕或0 的情况下,我点击 (-) 来否定。然后,当我点击例如9 时,我希望它读取(或者更确切地说是)-9。不是现在的9。仅供参考,我正在到处使用原始整数,但我准备中止它。
问题:如何表示负0?我可以使用支持它的数据类型吗? NSInteger?
或者是使用 state boolean 和 stringWithFormat 等做一些 hacky 解决方法的唯一方法?
感谢您的帮助。 /O
【问题讨论】:
-
在我看来,您的问题实际上是“我应该如何设计我的程序来输入负数?”,而不是“我怎样才能表示负 0?”。 Unix xcalc 和 Windows Calculator 程序都不会像您描述的那样接受负输入——它们在该上下文中将“-”解释为中缀减法运算符,并将后面的数字解释为第二个操作数。通常翻转符号的键标记为“+/-”而不是“-”,如果当前显示“0”则无效。
-
也许你是对的,但我似乎已经得到了我所希望的答案。不过,关于标签的好点,我会改变的。有趣的是,iPhone 计算器的工作方式符合我的要求,但 Mac 上的计算器却没有。它和我的“未完成”的一样。 :)
标签: iphone objective-c