我的数据库在Sqlite中,字段名称是Amount with float datatype.now,amount的值是在textfiled中输入的。所以我的问题是如何从文本框中获取小数值?
答案 0 :(得分:5)
float f = [myTextField.text floatValue];
请注意,您应该检查文本字段是否包含有效数字。来自NSString manual,
接收者文本的浮点值为float,跳过字符串开头的空格。溢出时返回HUGE_VAL或-HUGE_VAL,下溢时返回0.0。如果接收者没有以浮点数的有效文本表示开头,则返回0.0。
此方法不会告诉您输入abc
不是有效数字。
答案 1 :(得分:5)
试试这个:
float amount = [yourTextField.text floatValue];
<强> EDITED 强>
是的,正如taskinoor所提到的,你应首先检查天气,你的文本字段是否包含任何字母。
检查,试试这个
NSString *aString = @"22.60Hello";
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ"] invertedSet];
if ([aString rangeOfCharacterFromSet:set].location != NSNotFound)
{
NSLog(@"This string contains illegal characters");
}
希望这会对你有所帮助。
答案 2 :(得分:4)
NSString *decimalvalue=[NSString stringWithString:[txtfield.text componentsSeparatedByString:@"."] objectAtIndex:1]];
答案 3 :(得分:4)
从文本框中获取值并存储在字符串中。您需要将此字符串转换为浮点值并插入数据库中。
这可能有效:
NSString *myString = (string initialization here);
float stringFloat = [myString floatValue];
答案 4 :(得分:3)
float decimalNum = [textfield.text floatvalue]