C++语言printf打印模板类型数值、int型整数的除法、除法只保留小数位的办法

在C++中,当使用模板且不确定变量类型时,若要确保printf能正确输出,需将值转换为float。例如`printf(%.2f,(float)value)`。对于整数相除会丢失小数部分,如`inta/5=0`,应将至少一个操作数转换为浮点数,如`(float)a/b`,以进行浮点数除法。通过浮点数相除并减去整数相除的结果,可以获取小数位,如`(float)a/b-a/b`。
摘要由CSDN通过智能技术生成
printf("%.2f ",value);

当使用类型模板template,不知道value具体的数据类型是int或者float,但是希望printf都能输出,只能使用%f格式,而%f打印整数会输出0,解决办法是将数据强制转换为float类型,这样无论是int还是float都可以正常显示

printf("%.2f ",(float)value);

数值相除,这种结果c为0,因为右式默认是整数相除得0

int a = 3;
int b = 5;
float c = a/b;

正确的,将被除数转化为浮点型,右式转化为浮点数相除,c为0.6

int a = 3;
int b = 5;
float c = (float)a/b;

float相除可以得到整数和小数位,而int通过/相除可以得到整数位,二者相减就可以得到小数位

int a = 3;
int b = 2;
float c = (float)a/b;//得到整数位和小数位
int d = a/b;//得到整数位
float e = c-d;//得到小数位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值