【问题标题】:error in iOS calculator decimal pointiOS计算器小数点错误
【发布时间】:2014-12-06 16:36:57
【问题描述】:

我构建了一个 iOS 计算器并输入了一个小数函数,每当我按下小数点按钮时,就会插入一个小数点,然后当我按下另一个数字时,小数点就会消失。我不知道我是否需要在每个数字中输入小数点或什么。如果有人能给我具体的指示,那将对我有很大帮助。

这是 .m 中小数的代码

- (IBAction)Decimal:(id)sender
{
    NSRange range = [self->Screen.text rangeOfString:@"."];
    if (range.location ==NSNotFound){
        self->Screen.text = [ self->Screen.text stringByAppendingString:@"."];
    }


}

这里是 .h

-(IBAction)Decimal:(id)sender;

例如这里是数字按钮之一

-(IBAction)Number1:(id)sender{

    SelectNumber = SelectNumber * 10;
    SelectNumber = SelectNumber + 1;
    Screen.text = [NSString stringWithFormat:@"%i", SelectNumber];

更新

我自己修复了一些错误,但被困在这个错误上。当我启动应用程序时,屏幕默认为零。每当我输入任何数字时,零都应该被我选择的数字替换,但它不会被替换。我只是不知道究竟是什么代码会指向这个问题。

【问题讨论】:

  • 您能否发布输入数字时触发的任何代码?就像,您是否使用任何 UITextField 委托方法?因为问题与您的 Decimal: 方法没有任何关系,如果问题在未触发时发生...
  • 什么是 SelectNumber?
  • 我看到你选择然后取消选择我的答案。还需要帮助吗?
  • 抱歉,我最近经常外出,我正在处理应用程序的其他技术问题,非常感谢您的帮助
  • 好的,不用担心 :) 希望应用制作进展顺利

标签: ios calculator


【解决方案1】:

问题在于,通过在您的数字方法中使用这种行:

Screen.text = [NSString stringWithFormat:@"%i", SelectNumber];

您正在设置整个Screen(我假设它是一个文本字段或某种文本视图)以包含SelectNumber,正如您在评论中所说,这是所选的数字。因此,其他所有内容都将被覆盖。

只要您不允许用户在您的文本字段/视图中间插入文本,您就可以通过使用与 Decimal: 中使用的相同类型的逻辑来纠正问题,并将 SelectNumber 附加到结束。变化:

Screen.text = [NSString stringWithFormat:@"%i", SelectNumber];

到:

Screen.text = [Screen.text stringByAppendingString:[NSString stringWithFormat:@"%i", SelectNumber]];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多