Только одна запятая / точка в калькуляторе! Objective-C для iPhone - PullRequest
1 голос
/ 19 февраля 2011

Я устанавливаю приложение CalculatorApp для iPhone, и есть только одна вещь, которую мне нужно закончить, с плавающей точкой!

Как и в обычных калькуляторах, мне нужно что-то сделать, чтобы разрешить только одно "." .

Можете ли вы, парни, помочь мне?

Ответы [ 2 ]

3 голосов
/ 19 февраля 2011

у вас есть несколько способов пойти, например, метод NSString rangeOfString, например

#define FLOATING_POINT_STRING @"."; // set this to @"." or @"," according to the floating point type you want to use
float calculatorText = 45.194; // set this to whatever the label says, or you can skip the float => string conversion as shown below
NSString *text = [NSString stringWithFormat:@"%f", calculatorText];

if ([text rangeOfString:FLOATING_POINT_STRING].location != NSNotFound)
{
    // do nothing, there is a floating point
}
else
{ 
// append FLOATING_POINT_STRING to the label
}

Удачи;)

1 голос
/ 28 февраля 2011

Используете ли вы UIButton для кнопки десятичной точки?Если это так, вы можете просто отключить его, как только он будет нажат.И затем, конечно, включите его, когда нажмете «очистить» или «равно» или что-то еще:

[buttonDecimalPoint setEnabled: NO];
...