2014年3月16日 星期日

取小數點位數的方法(一)

在Objective-C中,宣告float型態的變數,可用來儲存包含小數點的數值。例如;

float fValueOne  = 881.79;
float fValueTwo = 1972.51828;

如果把以上兩個數值相加之後,只想取小數點後兩位數,該如何處理呢?
我們可以利用NSString的類別方法stringWithFormat:來處理這個數值,方法如下;

[NSString stringWithFormat:@"1.2f", fValueOne + fValueTwo];

使用此類別方法取小數點後兩位數之後,產生的是NSString型態的物件,若需要繼續使用float資料型態做後續數學運算,則必須把NSString型態的物件轉換成float資料型態,可以運用NSString物件的方法floatValue來達成。

float fValue = [[NSString stringWithFormat:@"1.2f", fValueOne + fValueTwo]floatValue];

用NSLog來顯示fValueOne的值,NSLog(@"fValueOne = %f", fValueOne);
輸出的結果為fValueOne = 881.789978,輸出的數值與實際設定值881.79並不一致。產生此種錯誤原因在於電腦內部數值處理所造成。

沒有留言:

張貼留言