iOS计算器小数点出错

iOS计算器小数点出错,ios,calculator,Ios,Calculator,我建立了一个iOS计算器,我加入了一个十进制函数,每当我按下十进制按钮,就会插入一个十进制数,然后当我按下另一个数字时,十进制数就会消失。我不知道是否需要为每个数字的小数点输入代码。如果有人能给我具体的指示,那将对我帮助很大 这是十进制的代码,单位为.m - (IBAction)Decimal:(id)sender { NSRange range = [self->Screen.text rangeOfString:@"."]; if (range.location ==N

我建立了一个iOS计算器,我加入了一个十进制函数,每当我按下十进制按钮,就会插入一个十进制数,然后当我按下另一个数字时,十进制数就会消失。我不知道是否需要为每个数字的小数点输入代码。如果有人能给我具体的指示,那将对我帮助很大

这是十进制的代码,单位为.m

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


}
这是

-(IBAction)Decimal:(id)sender;
例如,这里有一个数字按钮

-(IBAction)Number1:(id)sender{

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


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

问题在于,在数字方法中使用这种类型的行:

Screen.text = [NSString stringWithFormat:@"%i", SelectNumber];
您正在将整个
屏幕
(我假设它是一个文本字段或排序文本视图)设置为包含
SelectNumber
,正如您在评论中所说,它就是所选的数字。因此,其他所有内容都将被覆盖

只要您不允许用户在文本域/视图中间插入文本,您可以使用在十进制:中使用的相同类型的逻辑来纠正这个问题,并附上<代码> SelectNumber < /代码>。更改:

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


你能不能也发布一下当你输入数字时触发的代码?比如,您是否使用任何UITextField委托方法?因为问题与您的Decimal:method无关,如果问题在未触发时发生……SelectNumber是什么?我看到您选中了,然后取消了我的答案。还需要帮助吗?很抱歉,我最近经常外出,我正在处理应用程序的其他技术问题,所以非常感谢您的帮助好的,不用担心:)希望应用程序制作进展顺利
Screen.text = [Screen.text stringByAppendingString:[NSString stringWithFormat:@"%i", SelectNumber]];