2012-06-10 32 views
0

全部,浮動號碼問題

我有一個浮動數字問題,我需要幫助。我剛開始使用Objective-C,這似乎是一個非常簡單的解決方案,但是我在搜索之後感到很茫然。總之,我將四個TextFields的數字輸入添加到一起,並在UILabel中顯示答案。我的答案是正確的十進制格式,但只顯示0.00而不是正確的總和。我敢肯定它,它是與字符串和float之間的轉換,但我需要一些幫助:

- (IBAction)Calc1:(id)sender { 

    int result = [oranges.text doubleValue] + 
        [bananas.text doubleValue] + 
         [grapes.text doubleValue] + 
          [pears.text doubleValue]; 

    text123.text = [NSString stringWithFormat:@"%.1f", result]; 

} 
+0

每個文本的價值是什麼? –

+0

@ user890803你需要發佈更多的代碼。你不能期望在一個int值而不是損失精度中存儲一個double。結果需要是雙重的,發佈更多的代碼來看看它爲什麼會搞砸。 – Vikings

回答

3

你可能想申報結果爲雙...

double result = .... 
+0

我試過這樣做,我得到了NaN – DataGuy

+0

你發佈了你的整個方法體嗎?我無法理解你如何通過添加數字來獲得NaN? –

+0

當原始數字之一是NaN時,您會得到NaN。也就是說,當其中一個文本字符串不代表數字時。 – fishinear

0

您使用int類型要存儲double類型,則準確性會丟失。

您應該將結果變量設置爲double類型。

+0

當我將結果設置爲double時,我在UIable中得到nan – DataGuy

+0

@ user890803 NaN表示「不是數字」,您應該檢查您的代碼。 – looyao