iOS - How can I get an integer from a text area? [duplicate] - ios

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
retrieving integer value from the UITextField into a NSInteger variable
I have users fill in a text box with a number. I want to use this number in a calculation; how can i put it in a variable? So far I only have:
NSInteger *answer = results........

Use intValue or integerValue from the NSString class.
int answer = [myTextField.text intValue];
or
NSInteger answer = [myTextField.text integerValue];
You can also use floatValue and doubleValue for floating-point inputs.

NSInteger answer = [textField.text integerValue];
OR
int answer = [textField.text intValue];

Related

Extract integer from a string in objective c [duplicate]

This question already has answers here:
Objective-C: Find numbers in string
(7 answers)
Closed 7 years ago.
i have a string which has both numeric and character value.
Like: string = abc1234
Now I want to get only the integer part from it:
i.e. 1234
How can I do this? I have tried the following with no luck:
NSString *str = #"abc123";
int s = [str intValue];
Use this function
- (NSString *)extractNumberFromText:(NSString *)text
{
NSCharacterSet *nonDigitCharacterSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
return [[text componentsSeparatedByCharactersInSet:nonDigitCharacterSet] componentsJoinedByString:#""];
}
It will help you.Thankyou

Assign the value from a text field into an int variable to do some math with other variables and then return it?

The code showing here assigns the value of an variables to the text field I want to do the opposite of that.
_Initial.text = [NSString stringWithFormat:#"%f", init];
The opposite of the code above. Please help
The opposite of that would be getting converting string to float. You can do it with this
init = [_Initial.text floatValue];
You should search for an answer before you ask a question.
NSString *intString = #"123";
NSString *floatString = #"456.789";
int intVal = [intString intValue];
float floatVal = [floatString floatValue];
printf("%i %f\n",intVal,floatVal);

How to change a sklabelnode into a nsinteger [duplicate]

This question already has answers here:
Convert NSString to NSInteger?
(7 answers)
Closed 8 years ago.
How can i properly change the following into a NSInteger:
countDown.text = [NSString stringWithFormat:#"%i", (int)(currentTime-startTime)];
Countdown is a SKLabelnode
There's no real benefit to casting to an NSInteger (which is just a typedef for long on 64-bit architectures and int on 32-bit architectures) , but you can do that by changing your code into the following:
countDown.text = [NSString stringWithFormat:#"%ld", (NSInteger)(currentTime-startTime)];
You could use NSNumberFormatter
For example:
NSString *string = #"12";
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
NSInteger i = [[formatter numberFromString:string] integerValue];

Changing variable from int to string [duplicate]

This question already has answers here:
How to convert int to NSString?
(4 answers)
Closed 8 years ago.
Good morning,
First of all excuse me for my english.
A partner has made an app that place an image in the ios display depending the placement id you write on a textfield. He defined the textfield and the variable as a integer, but when he finished he realized that it should be an string. Now its all coded for a int, is there an easy way to parse it to string?
See this other SO question: How can I convert an int to an NSString?
In short, with the code NSString *string = [NSString stringWithFormat:#"%d", theinteger];
int yourIntVar = ??;
NSString *intIntoString = [NSString stringWithFormat:#"%d", yourIntVar];
use this:
myTextfield.text = [NSString stringWithFormat:#"%d",myInt];
int num = 2;
NSString *yourString = [NSString stringWithFormat:#"%d",num];

Convert NSString with factor (e.g. #"3/4") to NSNumber [duplicate]

This question already has answers here:
Convert to Float and Calculate
(3 answers)
What is a fast C or Objective-C math parser? [closed]
(4 answers)
Closed 9 years ago.
I want to convert a string for example
NSString *stringWithNumber = #"3/4"
into a NSNumber.
How is this possible?
You can use an NSEXpression to "calculate" the value. Note that you will have the regular int division problem with "3/4".
NSExpression *expression = [NSExpression expressionWithFormat:#"3.0/4.0"];
NSNumber *result = [expression expressionValueWithObject:nil context:nil];
If you are only working with n/m fractions, and you mean to have a number representing the result of the fraction, you can do something like
NSString *fraction = #"3/4";
NSArray *components = [fraction componentsSeparatedByString:#"/"];
float numerator = [components[0] floatValue];
float denominator = [components[1] floatValue];
NSNumber *result = #(numerator/denominator);
NSLog(#"%#", result); // => 0.75
Of course this can easily break in case of malformed strings, so you may want to check the format before performing the above computation.
NOTE
In case the fractions coming in input have a format compatible with native float division, David's answer is definitely sleeker and less clunky than mine. Although if you have an input like #"3/4", it won't work as expected and you definitely need to do something like I suggested above.
Bottom line, you should specify better your requirements.

Resources