首页 > 解决方案 > 除以两位小数并将结果转换为 int

问题描述

我正在尝试将除法结果的结果转换为 c# 中的 int

这是我的代码:

decimal testDecimal = 5.00; // testDecimal always is dividable by 0.25 with 0 rest
int times=0;

int times = testDecimal / Convert.ToDecimal(0.250); 

// error returned -> Cannot implicitly convert type 'decimal' to 'int'.

如果我改变我的演员表

int times = (int) testDecimal / Convert.ToDecimal(0.250); 
//also returns an error: Cannot implicitly convert type 'decimal' to 'int'

我怎样才能将结果(20)作为整数?我究竟做错了什么?

标签: c#casting

解决方案


试试这个:

 times = (int)(testDecimal / Convert.ToDecimal(0.250));

如果没有额外的括号,它会尝试仅将 testDecimal 转换为整数,然后尝试将 int/decimal 结果隐式转换为整数,这就是导致错误的原因。

在不相关的注释中,您尝试将变量 'times' 声明两次。


推荐阅读