处理C#中的比率/分区

时间:2013-10-24 14:44:21

标签: c#

大家好我试图用c#将4除以3。

到目前为止,我已经尝试了以下内容,在每种情况下答案都是1

float a = 4/3;// returns a = 1

我用Decimal尝试了这个,结果仍然相同。我不是C程序员,有什么方法可以获得像1.333

这样的工程结果

5 个答案:

答案 0 :(得分:2)

你需要使用'f'后缀来告诉编译器文字是一个浮点数

float a = 4f / 3f;

否则它将假设一个积分,你将得到一个积分结果。

答案 1 :(得分:2)

案例1给了我1.333。情况2实际上是整数除法,因为43是整数,在行中定义。

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)

尝试分别用ab替换值4.03.0