fen = int((d * 100)%100);
时间: 2023-06-26 22:03:19 浏览: 41
这行代码是将浮点数 `d` 的小数部分乘以100并取整,赋值给整型变量 `fen`。具体来说,`(d * 100)` 表示将浮点数 `d` 的小数部分乘以100得到一个新的浮点数,然后 `%100` 取这个浮点数对100取余数,得到一个整数,最后使用 `int()` 函数将这个整数转化为整型变量。这个过程可以用来将一个浮点数表示的百分数转化为整数表示的分数,比如将 0.75 转化为 75,表示 75 分之 100。
相关问题
fen = int((d * 100)%100);严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E2140 表达式必须具有整数或未区分范围的枚举类型 货币 C:\Users\86136\source\repos\Project5\Project5\Currency.cpp 49
这个错误提示是说在表达式中要求的是整数或未区分范围的枚举类型,但是你的表达式中有小数。具体来说,这里的 `(d * 100) % 100` 的结果是一个小数,而不是整数或未区分范围的枚举类型。
你需要将表达式中的小数转换成整数或者枚举类型。具体方法可以是使用 `static_cast` 将小数转换成整数或者枚举类型,代码类似于:
```
fen = static_cast<int>((d * 100) % 100);
```
或者你也可以考虑使用 `round` 函数将小数四舍五入成整数,代码类似于:
```
fen = static_cast<int>(round(d * 100)) % 100;
```
注意:使用 `round` 函数需要包含 `<cmath>` 头文件。
这个警告是因为在构造函数没有对 yuan 进行初始化。虽然在构造函数中对 t 进行了计算,但是如果计算出来的结果不满足 fen 和 yuan 的关系(即 fen 应该是 t 除以 100 的余数,而 yuan 应该是 t 除以 100 的商),那么 yuan 就没有被赋值,就会出现未初始化的情况。 要解决这个警告,可以在构造函数中对 yuan 进行初始化,例如: 复制 Currency::Currency(double d) { int t = (d + 0.005) * 100; fen = t % 100; yuan = t / 100; } 改为: 复制 Currency::Currency(double d) : yuan(0) { int t = (d + 0.005) * 100; fen = t % 100; yuan = t / 100; } 这样,yuan 的初始值就是 0,即使计算出来的值不满足 fen 和 yuan 的关系,也不会出现未初始化的情况。不太理解
这个警告是指在 Currency 类的构造函数中,yuan 变量可能没有被初始化,可能会导致未定义的行为。这是因为在构造函数中,只对 fen 变量进行了赋值,没有对 yuan 变量进行显式的赋值操作。因此,如果计算出来的 t 值不能被 100 整除,yuan 变量就没有被赋值,就会出现未初始化的情况。为了解决这个问题,可以在构造函数的初始化列表中对 yuan 变量进行显式的初始化,确保 yuan 变量总是有一个初始值。这样,即使计算出来的 t 值不能被 100 整除,yuan 变量也会有一个初始值,就不会出现未初始化的情况了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)