喙审 发表于 2025-6-5 15:41:02

四类取整方式

目录

[*]C语言的四种取整方式:

[*]零向取整

[*]trunc函数(C99)

[*]trunc的使用


[*]地板取整

[*]floor函数的使用

[*]向上取整

[*]ceil函数的使用

[*]四舍五入

[*]round函数(C99)

[*]round函数的使用


[*]四种取整方式演示


C语言的四种取整方式:


零向取整

如图:

可以发现C语言a和b的取整方式都不是四舍五入,而是直接舍弃小数部分.(a四舍五入是-3,b四舍五入是3.)这种方式叫做零向取整.也是c语言中的默认取整方式

从图中可以看出无论是-2.9还是2.9,它们取整方向都是向着0的方向取整.

trunc函数(C99)

C语言库中也有零向取整函数,它的返回值是浮点型,如果需要也是可以强转成int类型使用.


trunc的使用


注意,%d不能直接接收浮点型,浮点型在内存空间中的布局和整型是不一样的,这点要注意.
如果需要转成整型使用,需要圆括号(int)强制类型转换.

地板取整

这个名字有点奇怪,它是函数floor的翻译而来.
也叫向下取整,向左取整,向负无穷取整



floor函数的使用



向上取整

又称向右取整,向正无穷取整, 来源于ceil函数



ceil函数的使用



四舍五入


round函数(C99)



round函数的使用



四种取整方式演示

#include<stdio.h>
#include<math.h>

int main()
{
    const char * format = "%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n";
    printf("value\tround\tfloor\tceil\ttrunc\n");
    printf("-----\t-----\t-----\t----\t-----\n");
    printf(format, 2.3, round(2.3), floor(2.3), ceil(2.3), trunc(2.3));
    printf(format, 3.8, round(3.8), floor(3.8), ceil(3.8), trunc(3.8));
    printf(format, 5.5, round(5.5), floor(5.5), ceil(5.5), trunc(5.5));
    printf(format, -2.3, round(-2.3), floor(-2.3), ceil(-2.3), trunc(-2.3));
    printf(format, -3.8, round(-3.8), floor(-3.8), ceil(-3.8), trunc(-3.8));
    printf(format, -5.5, round(-5.5), floor(-5.5), ceil(-5.5), trunc(-5.5));
    return 0;
}


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

袁可佳 发表于 2025-12-8 06:49:09

喜欢鼓捣这些软件,现在用得少,谢谢分享!

司寇涵涵 发表于 2025-12-10 21:29:31

感谢分享,下载保存了,貌似很强大

户烫擞 发表于 2025-12-14 16:50:39

谢谢楼主提供!

蔬陶 发表于 2025-12-16 13:11:06

分享、互助 让互联网精神温暖你我

上官银柳 发表于 2026-1-13 22:17:41

收藏一下   不知道什么时候能用到

挽幽 发表于 2026-1-17 11:46:01

用心讨论,共获提升!

铝缉惹 发表于 2026-1-18 19:53:27

这个好,看起来很实用

蝌棚煌 发表于 2026-1-18 22:11:41

鼓励转贴优秀软件安全工具和文档!

毋峻舷 发表于 2026-1-18 22:20:40

这个好,看起来很实用

恿深疏 发表于 2026-1-21 05:08:51

谢谢分享,试用一下

丁若云 发表于 2026-1-22 10:56:41

用心讨论,共获提升!

百杲憔 发表于 2026-1-22 11:01:13

yyds。多谢分享

葛雅隽 发表于 2026-1-25 17:26:08

这个有用。

茹静曼 发表于 2026-1-26 08:59:55

很好很强大我过来先占个楼 待编辑

于映雪 发表于 2026-1-27 03:49:47

这个好,看起来很实用

嗣伐 发表于 2026-1-28 00:19:41

yyds。多谢分享

方方仪 发表于 2026-1-29 02:06:01

感谢发布原创作品,程序园因你更精彩

迭婵椟 发表于 2026-1-29 06:49:58

yyds。多谢分享

丁若云 发表于 2026-2-4 05:54:58

喜欢鼓捣这些软件,现在用得少,谢谢分享!
页: [1] 2
查看完整版本: 四类取整方式