无法将字符串值转换为浮点数

问题描述:

当我将字符串值转换为浮点数时,需要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值是正确的,但该字符串值不转换为浮动。

+1

什么的'的NSLog打印出来(@ “%@”,AMT);'行? –

+0

我试过你的代码,它在我的最后工作正常..你可以解释更多,并把一些值,以显示你从文本文件的文本首先得到什么。 – Sabby

只是尝试了一些你的代码块的和它的作品出来对我很好。该错误可能在NSString本身。也许它没有通过一个完全数字的数字。尽量使用CGFloat,尽管这不应该改变任何东西。

我假设你有alreayd确保没有非数字字符可以进入要转换的NSString。

你可以让我们知道你为NSLog得到的输出是什么字符串?

你还可以尝试设置float的输出格式吗?例如'%3.3f'将在小数点前后各显示3个数字。

试试这个,我认为这会奏效。

float amount = [txtTotalBill.text floatValue]; 

如果文本是浮点数格式,请检查txtTotalBill.text。

如果文本没有浮点数格式,[的NSString的floatValue] retuns 0.00000

这完美的作品

NSString *amt = txtTotalBill.text; 
float amount; 
amount = [amt floatValue];