我尝试过:
var b = 100 / 95;
和b声明为整数。但我想有一个带小数点的数字。
如何在C#中执行此操作?
答案 0 :(得分:3)
使用两个整数操作数,C#重载分辨率会选择执行整数除法的除法运算符版本。
要使C#选择实数除法,您需要将至少一个操作数的类型更改为decimal
,float
或double
。
通常情况下,可以通过强制转换来实现。在您的特定情况下,您还可以更改涉及的文字:
var b = 100m / 95; // decimal
var b = 100f / 95; // float
var b = 100.0 / 95; // double
如果这些是精确的人为数量(例如,货币),请使用decimal
。如果要处理近似的物理量(例如,无理数,物理常数等),请使用float
或double
。
答案 1 :(得分:2)
您正在执行整数除法,它将忽略除法的小数部分,因为它不能存储在int
中。
如果将变量强制转换为decimal
,则可以存储除法的小数部分:
decimal b = (decimal)100 / (decimal)95;