C#中,当需要对两个整数进行除法运算时,结果会被截断为整数部分,即使结果本应是一个小数。这是因为整数除法会丢弃小数部分,只保留整数部分。
要想保留小数部分,需要将至少其中一个操作数转换为float、double或者 decimal 类型。这样做可以告诉编译器你希望得到一个包含小数部分的精确结果。
下面是一个示例,演示了如何在C#中进行整数相除并保留小数部分:
int dividend = 10;
int divisor = 3;
// 使用强制类型转换将其中一个操作数转换为浮点数
double result1 = (double)dividend / divisor;
Console.WriteLine(result1); // 输出:3.33333333333333
// 或者直接使用浮点数进行除法
double result2 = dividend / (double)divisor;
Console.WriteLine(result2); // 输出:3.33333333333333
// 使用 decimal 类型进行除法
decimal result3 = (decimal)dividend / divisor;
Console.WriteLine(result3); // 输出:3.3333333333333333333333333333
//使用float类型进行除法
float result4=(float)dividend / divisor;
Console.WriteLine(result4); // 输出:3.3333333