如何在C#中将一个整数除以一个整数并使一个变量具有一个或多个小数位?

时间:2018-12-21 11:24:35

标签: c#

我尝试过:

var b = 100 / 95;

和b声明为整数。但我想有一个带小数点的数字。

如何在C#中执行此操作?

2 个答案:

答案 0 :(得分:3)

使用两个整数操作数,C#重载分辨率会选择执行整数除法的除法运算符版本。

要使C#选择实数除法,您需要将至少一个操作数的类型更改为decimalfloatdouble

通常情况下,可以通过强制转换来实现。在您的特定情况下,您还可以更改涉及的文字:

 var b = 100m / 95;   // decimal
 var b = 100f / 95;   // float
 var b = 100.0 / 95;  // double

如果这些是精确的人为数量(例如,货币),请使用decimal。如果要处理近似的物理量(例如,无理数,物理常数等),请使用floatdouble

答案 1 :(得分:2)

您正在执行整数除法,它将忽略除法的小数部分,因为它不能存储在int中。

如果将变量强制转换为decimal,则可以存储除法的小数部分:

decimal b = (decimal)100 / (decimal)95;