-3

如何添加小数按钮。我输入数字的代码:

number = number *10 + (int)[sender tag];
display2.text = [NSString stringWithFormat:@"%.10g",number];

还有我的十进制数字代码。

NSString *currentText = display2.text;
if ([currentText rangeOfString:@"." options:NSBackwardsSearch].length == 0) {
    display2.text = [display2.text stringByAppendingString:@"."];

}

这是如何工作的?!输入 12 并按小数点。并按数字 3 = 123 :(

4

1 回答 1

0

您获得 123 而不是 12.3 的原因在于您的代码中的其他按钮(不是十进制按钮)。虽然我会使用 range.location==NSNotFound 而不是 range.length==0 来添加小数,但这不是问题。

问题是你正在做 number*10 + [sender tag]。现在假设您输入 1,然后输入 2,然后输入小数。“数字”将是 12.,即 12。现在,当您将其乘以 10 并加 3 时,您将得到 12*10+3 = 120+3 = 123。

你想要做的是得到你想要的实际数字(12.3),而是使用:

display2.text = [display2.text stringByAppendingFormat:@"%i",[sender tag]];

为了摆脱字符串开头的零,您可以执行以下操作:

if ([display.text isEqualToString:@"0"]) {
    display.text = [NSString stringWithFormat:@"%i",[sender tag]];
}
else {
    display2.text = [display2.text stringByAppendingFormat:@"%i",[sender tag]];
}
于 2013-03-26T22:28:36.690 回答