2011-09-07 305 views
0

當我將字符串值轉換爲浮點數時,需要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

回答

2

只是嘗試了一些你的代碼塊的和它的作品出來對我很好。該錯誤可能在NSString本身。也許它沒有通過一個完全數字的數字。儘量使用CGFloat,儘管這不應該改變任何東西。

2

我假設你有alreayd確保沒有非數字字符可以進入要轉換的NSString。

你可以讓我們知道你爲NSLog得到的輸出是什麼字符串?

你還可以嘗試設置float的輸出格式嗎?例如'%3.3f'將在小數點前後各顯示3個數字。

0

試試這個,我認爲這會奏效。

float amount = [txtTotalBill.text floatValue]; 
1

如果文本是浮點數格式,請檢查txtTotalBill.text。

如果文本沒有浮點數格式,[的NSString的floatValue] retuns 0.00000

0

這完美的作品

NSString *amt = txtTotalBill.text; 
float amount; 
amount = [amt floatValue]; 
相關問題