大家好我试图用c#将4除以3。
到目前为止,我已经尝试了以下内容,在每种情况下答案都是1
float a = 4/3;// returns a = 1
我用Decimal尝试了这个,结果仍然相同。我不是C程序员,有什么方法可以获得像1.333
答案 0 :(得分:2)
你需要使用'f'后缀来告诉编译器文字是一个浮点数
float a = 4f / 3f;
否则它将假设一个积分,你将得到一个积分结果。
答案 1 :(得分:2)
案例1给了我1.333。情况2实际上是整数除法,因为4
和3
是整数,在行中定义。
float a = 4f / 3;
将起作用,然后将RHS评估为浮点。
答案 2 :(得分:2)
.NET有3种类型的划分。来自7.7.2 Division operator
实际上float a = 4 / 3;
正在进行整数除法并将其分配给float变量。如文档中所述;
该除法将结果舍入为零,且绝对值为 结果是最大可能的整数小于 两个操作数的商的绝对值。
如果你想进行浮点除法,你可以做其中一个;
float a = 4f / 3f;
float a = 4 / 3f;
float a = 4f / 3;
答案 3 :(得分:1)
由于两个数字都是整数,因此使用整数除法
尝试使用一个或两个浮点数
float a = 4 / 3f;
答案 4 :(得分:0)
尝试分别用a
和b
替换值4.0
和3.0