可能重複:
Objective-c: How to round off Float values?如何在ios4的xcode for iOS中將浮點數四捨五入爲整數?
我知道它與NSNumberformatter類,任何示例代碼嗎?
可能重複:
Objective-c: How to round off Float values?如何在ios4的xcode for iOS中將浮點數四捨五入爲整數?
我知道它與NSNumberformatter類,任何示例代碼嗎?
由於int
s不能存儲浮點數,浮點數的小數部分將被截斷,你將留下的整數:
float x = 3.14159;
int y = (int)x;
這工作,因爲int
只能夠
x
見的整數部分也gnu C Library Rounding Functions的
— Function: double ceil (double x)
— Function: float ceilf (float x)
— Function: long double ceill (long double x)
— Function: double floor (double x)
— Function: float floorf (float x)
— Function: long double floorl (long double x)
— Function: double trunc (double x)
— Function: float truncf (float x)
— Function: long double truncl (long double x)
— Function: double rint (double x)
— Function: float rintf (float x)
— Function: long double rintl (long double x)
— Function: double nearbyint (double x)
— Function: float nearbyintf (float x)
— Function: long double nearbyintl (long double x)
— Function: double round (double x)
— Function: float roundf (float x)
— Function: long double roundl (long double x)
— Function: long int lrint (double x)
— Function: long int lrintf (float x)
— Function: long int lrintl (long double x)
— Function: long long int llrint (double x)
— Function: long long int llrintf (float x)
— Function: long long int llrintl (long double x)
— Function: long int lround (double x)
— Function: long int lroundf (float x)
— Function: long int lroundl (long double x)
— Function: long long int llround (double x)
— Function: long long int llroundf (float x)
— Function: long long int llroundl (long double x)
— Function: double modf (double value, double *integer-part)
— Function: float modff (float value, float *integer-part)
— Function: long double modfl (long double value, long double *integer-part)
但是3.999也等於3,如果你只是將它轉換爲int。
float value = 3.14159f;
int intValue = (int)value;
float fractional = fmodf(value, (float)intValue);
if(fractional > .5f)
intValue++;
intValue是你的四捨五入整數。
從我可以告訴使用NSNumberformatter是要走的路,但我似乎無法找到任何好的例子。 – user988618