iOS计算器小数点错误

时间:2014-12-06 16:36:57

标签: ios calculator

我构建了一个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];

更新

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

1 个答案:

答案 0 :(得分:0)

问题是在数字方法中使用这种行:

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

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

只要您不允许用户在文本字段/视图的中间插入文本,您就可以使用Decimal:中使用的相同逻辑来修正问题并附加{{ 1}}到最后。变化:

SelectNumber

为:

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