當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C語言 lround用法及代碼示例

C語言math頭文件(math.h)中lround函數的用法及代碼示例。

用法:

long int lround  (double x);
long int lroundf (float x);
long int lroundl (long double x);
四舍五入到最接近的整數並轉換為長整數
返回值最接近的整數值x,中途情況從零舍入。

舍入後的值作為類型的值返回long int。看llround對於返回a的等效函數long long int反而。

標頭<tgmath.h>提供此函數的type-generic宏版本。
額外的過載在此頭文件中提供(<cmath>) 為了整數類型:這些重載有效地轉換x到一個double計算之前(為T有任何整數類型)。

參數

x
取舍價值。

返回值

的價值x四舍五入為最接近的整數,轉換為類型的值long int
如果四舍五入的值超出了返回類型的範圍,則返回的值未指定,並且域錯誤或溢出範圍誤差可能會發生(或不發生,具體取決於實現方式)。

如果一個域錯誤發生:
- 和math_errhandlingMATH_ERRNO設置:全局變量errno被設定為EDOM
- 和math_errhandlingMATH_ERREXCEPT設置:FE_INVALID被拋出

如果溢出範圍誤差發生:
- 和math_errhandlingMATH_ERRNO設置:全局變量errno被設定為ERANGE
- 和math_errhandlingMATH_ERREXCEPT設置:FE_OVERFLOW被拋出

示例

/* lround example */
#include <stdio.h>      /* printf */
#include <math.h>       /* lround */

int main ()
{
  printf ( "lround (2.3) = %ld\n", lround(2.3) );
  printf ( "lround (3.8) = %ld\n", lround(3.8) );
  printf ( "lround (-2.3) = %ld\n", lround(-2.3) );
  printf ( "lround (-3.8) = %ld\n", lround(-3.8) );
  return 0;
}


可能的輸出:

Rounding using to-nearest rounding:
lround (2.3) = 2
lround (3.8) = 4
lround (-2.3) = -2
lround (-3.8) = -4

相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C lround function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。