【C语言】关于浮点型输出格式的一些事

今天在做牛客网C语言入门题时,遇见这么一道题。

将浮点数转换为整数类型,要求四舍五入。
输入:14.99
输出:15

于是乎,我就开始动手了
写出了这么一长串愚蠢的代码 = =

#include<stdio.h>
int main() 
{
    float num = 0.0f;
    float surplus = 0.0f;
    scanf("%f", &num);
    surplus = num - (int)num;
    if(num > 0.0)
    {
        if(surplus >= 0.5)
        {
            printf("%d\n", (int)num+1);
        }
        else
        {
            printf("%d\n", (int)num);
        }
    }
    else
    {
        if(surplus <= -0.5)
        {
            printf("%d\n", (int)num-1);
        }
        else
        {
            printf("%d\n", (int)num);
        }
    }
}

自信满满,提交,通过!
然后鬼使神差的,看了一眼题解,好家伙,不看不知道,一看吓一跳,被自己蠢哭了o(╥﹏╥)o

#include<stdio.h>
int main()
{
    float a;
    scanf("%f", &a);
    printf("%.0f", a);
    return 0;
}

然后我打开了万能的百度~
自此,我才知道,浮点型的输出格式还能这么用!
既然到这里了,我就来总结总结浮点型的输出格式吧~
首先是float类型

正常输出格式%f
限制长度的输出格式%.nf,n为正整数,表示输出小数点后几位,当n为0时,输出浮点数的整数部分,不输出小数点和小数点以下部分。小数部分 4 舍 5 入

然后时double类型(基本一致,就是多了个l)

正常输出格式%lf
限制长度的输出格式%.nlf,n为正整数,表示输出小数点后几位,当n为0时,输出浮点数的整数部分,不输出小数点和小数点以下部分。小数部分 4 舍 5 入

以后记得,四舍五入的话,不要再像我那么蠢了!!(⊙︿⊙)
The end!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值