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並不一致。產生此種錯誤原因在於電腦內部數值處理所造成。
沒有留言:
張貼留言