C语言printf %f怎么去除末尾的0

学习C语言的都知道,C语言打印小数,比如数据是float类型,那么小数点就有6~7为的精度。所以我们打印1.65的时候,就会输出 1.650000。这是因为编译器就会在后面帮我们补充0,直到6位。因为float类型数据最多有7位小数的精度,但一定有6位,所以,一般都是小数点后6位。要想解决这个问题就需要改代码。

#include <stdio.h>
int main()
{
    float high;
    short age;
    short weight;

    age = 19;
    weight = 120;
    high = 1.65f;
    

    printf("你的身体信息是年龄%d, 体重%d, 身高%f\n", age, weight, high);
   
    return 0;
}

这是没有修改之前的代码, 输出1.650000,我们看看修改之后的代码。

#include <stdio.h>
int main()
{
    float high;
    short age;
    short weight;

    age = 19;
    weight = 120;
    high = 1.65f;
    

    printf("你的身体信息是年龄%d, 体重%d, 身高%.2f\n", age, weight, high);
    //输出1.65
   
    return 0;
}

输出1.65,正常了,所以我们只需把%f改成%.2f就可以了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值