当我将字符串值转换为float时,它需要o.oooo。这是代码。
NSString *amt=txtTotalBill.text;
NSLog(@"%@",amt);
float amount = [amt floatValue]
NSLog(@"%f",amount);
NSString *insertData=[NSString stringWithFormat:@"insert into tbl_Bills(Amount,Note,Due_On) values ('%f')",amount];
[database executeQuery:insertData];
NSLog(@"inert query: %@",insertData);
NSLog(@"value inserted");
[table reloadData];
[database close];
每次获取金额为0.0000。在此代码中,amt值是正确的,但该字符串值不会转换为float。
答案 0 :(得分:2)
我假设您已经确保没有非数字字符可以进入要转换的NSString。
您能否告诉我们NSLog为字符串输出的内容是什么?
您是否也可以尝试为浮点数设置输出格式?例如'%3.3f'将在小数点前后显示3个数字。
答案 1 :(得分:2)
刚尝试了一些代码块,对我来说效果很好。错误可能在NSString本身。也许它没有传递一个完全数字的数字。尝试使用CGFloat,虽然这不应该改变任何东西。
答案 2 :(得分:1)
如果文本是浮点数格式,请检查txtTotalBill.text。
如果text不是float number格式,[NSString floatValue]将返回0.00000
答案 3 :(得分:0)
试试这个,我想这会奏效。
float amount = [txtTotalBill.text floatValue];
答案 4 :(得分:0)
这很完美
NSString *amt = txtTotalBill.text;
float amount;
amount = [amt floatValue];