c - C - 如何在简单的算术除法中显示小数?
问题描述
有一件非常简单的事情我用 C 做不到。我只想做一个简单的除法。结果是对数字进行四舍五入。
这是代码
#include <stdio.h>
#include <math.h>
int main()
{
float a = 5 / 2;
printf("%0.2f", a);
return 0;
}
我得到的结果是2.00
,我希望它是实际的2.50
.
解决方案
通过将除法中的数字写为浮点数,您可以获得正确的结果:
float a = 5.0f / 2.0f;
另一种方法是类型转换:
float a = (float)5 / 2;
在您的代码中,数字被视为int
s 并且仅转换为float
之后。这给出了错误的舍入。
推荐阅读
- android - 如何从android服务(FirebaseMessagingService)获取firestore文档?
- windows - 未通过 https 使用 LWP::UserAgent get() 获取预期内容
- python - Python + mypy + mixin = 没有属性错误
- regex - 使用 Julia 和 Regex 从文件中收集字符串并写入输出文件
- delphi - 如何在 Firemonkey 中创建带圆角的 ListView/Listbox?
- ios - iOS:如何清除 PDFView?
- three.js - 如何在修改后的 MeshPhysicalMaterial 着色器中更新阴影
- python - 从 csv 中删除多余的时间戳
- python - form.is_valid() 未正确验证
- pandas - 使用大量数据创建 H5 数据库错误