C# 中的处理比率/分区

本文关键字:分区 比率 处理 | 更新日期: 2023-09-27 18:36:40

大家好,我正在尝试使用 c# 将 4 除以 3。

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

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

我已经用十进制尝试过这个,结果仍然是一样的。我不是C程序员,有什么办法可以得到像1.333这样的工程结果

C# 中的处理比率/分区

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

float a = 4f / 3;将起作用,因为 RHS 随后被计算为浮点数。

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

float a = 4f / 3f;

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

.

NET 有 3 种类型的划分。从7.7.2 Division operator

  • 整数除法
  • 浮点除法
  • 小数除法

实际上float a = 4 / 3;您正在执行整数除法并将其分配给浮点变量。如文档中所述;

除法将结果四舍五入为零,绝对值 结果是小于 两个操作数的商的绝对值。

如果要进行浮点除法,可以执行其中之一;

float a = 4f / 3f;
float a = 4 / 3f;
float a = 4f / 3;

由于两个数字都是整数,因此您使用的是整数除法

尝试使用一个或两个浮点数

float a = 4 / 3f;

尝试将值 ab 分别替换为 4.03.0