C++程序默认为四舍五入

C++ program is rounding by default

本文关键字:四舍五入 默认 程序 C++      更新时间:2023-10-16

我目前正在开发一个C++程序,其中我有一个bankAccount类,需要计算利息。问题是,我的函数将我的数字四舍五入为整数,即使我使用浮点作为变量类型。所以如果我有这样的代码:

float BankAccount::CalculateInterest(int Time)
{
    float thing;
    thing = (967 / 365);
    return thing;
}

当它应该等于2.649315068时,它最终等于2.000000。

有什么想法吗?我以前在那里有我的兴趣方程,不管怎样,结果总是1.0000000,所以我把它作为一个测试,我看到它四舍五入到了"下限"。

谢谢你的帮助!

这不是四舍五入。

你正在除以两个整数,结果将是一个整数。

您可以通过简单地将".0"添加到这两个数字中,或者将它们明确定义为浮点值来解决此问题。

967365是整数,因此使用整数除法并丢弃余数。设一为浮点数,将进行浮点除法运算:967 / 365.0

或者:

float thing = 967;  // integer converted to float during assignment
thing /= 365;  // division of float and converted integer