首页 > 编程笔记

C语言trunc()函数:截断浮点数

trunc() 是 C语言的一个标准库函数,定义在<math.h>头文件中。

trunc() 函数用于计算浮点数的截断值,也就是直接移除浮点数的小数部分(不进行四舍五入),只保留整数部分。

trunc() 函数的原型如下:
double trunc(double x);

参数

x:想要计算其截断值的浮点数。

返回值

返回参数 x 的截断值,即小数部分被移除而不进行四舍五入。

与强制类型转换到整数不同,trunc() 函数返回的还是一个浮点数,不改变值的类型。

【实例】以下的 C语言代码用 trunc() 函数计算了不同浮点数的截断值,并将结果打印出来。
#include <stdio.h>
#include <math.h>

int main() {
  double numbers[] = {3.14, -3.14, 2.718, -2.718, 0.0};
  double result;

  for(int i = 0; i < 5; i++) {
    result = trunc(numbers[i]);
    printf("trunc(%.3f) = %.3f\n", numbers[i], result);
  }

  return 0;
}
输出结果为:

trunc(3.140) = 3.000
trunc(-3.140) = -3.000
trunc(2.718) = 2.000
trunc(-2.718) = -2.000
trunc(0.000) = 0.000

例子展示了 trunc() 函数如何处理正数、负数和零的情况,对于所有这些值,它返回了相应的截断整数部分,小数部分被移除。

推荐阅读