我有一個iOS Objective-C如何獲得2個小數圓整浮點值?
float a = 1412.244019;
,我需要一個被四捨五入到最接近的第二位小數像1412.24000000。我明白,如果我想介紹一個只有兩位小數,我使用%.2f,但事實並非如此。我需要新的數學原因作爲浮動。
我已經嘗試了幾個方法找到在stackoverflow沒有運氣。我使用的更明顯的一個,我在下面提到,但仍然沒有使用它。你能看出爲什麼魔術沒有發生?
PS:它有時做預期的效果,並非總是如此,這讓我想...嗯...
在此先感謝。
代碼:
float a = 1412.244019;
NSLog(@"a is %f", a); //output a is 1412.244019
a = [[NSString stringWithFormat:@"%.2f", a] floatValue];
NSLog(@"a is %f", a); //output a is 1412.239990
編輯:
似乎當我使用該浮子上的上述手術後一樣,它正在考慮它是1412.240000 eventhough的NSLog的說...不同奇怪。 但我得到我想要的東西,所以浪費的時間追逐榮譽沒什麼:)
編輯我很想選擇你所有的正確答案,但因爲我只能選擇一個,我選擇的第一個好答案附加說明(最後兩個)。
已經嘗試過了,看到你已經在另一篇文章中發佈了這種方法。但NSLog仍然給出相同的答案(嘗試自己)。但請參閱上面的編輯。儘管NSLog給出了「錯誤」的格式,但它正確地使用它。 –
就像我在編輯中所說的那樣,我不可能在浮點數中獲得完整的精度 –
我明白了。它正在以我想要的方式進行計算。我只是覺得這很奇怪,因爲那樣你就永遠無法使用精確的算術? –