C# 中的处理比率/分区
本文关键字:分区 比率 处理 | 更新日期: 2023-09-27 18:36:40
大家好,我正在尝试使用 c# 将 4 除以 3。
到目前为止,我已经尝试了以下内容,在每种情况下,答案都是 1
float a = 4/3;// returns a = 1
我已经用十进制尝试过这个,结果仍然是一样的。我不是C程序员,有什么办法可以得到像1.333
这样的工程结果
情况 1 给我 1.333。情况 2 实际上是整数除法,因为4
和3
是整数,在行中定义。
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;
尝试将值 a
和 b
分别替换为 4.0
和 3.0