如何将 excel 中的 Floor 转换为 Unity Mathf?我在 Excel 中有一个这样的程序方程:= FLOOR(MOD(5, 20) * 0.2, 1)我想将其转换为 C# 脚本,但我不能。我已经尝试过:float test = Mathf.Floor((5 % 20) * (1 / 5));但这不是我想要的。我想要的答案是1(就像 Excel 的结果),但在 C# 脚本中它是0。请给我一些建议,谢谢!
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
1 / 5
是一个整数除法,结果为0
! 所以
Mathf.Floor((5 % 20) * 0);
显然也是0
。
您应该float
通过简单地使用float
两个操作数中至少一个的值来使用除法
1f / 5f
或者为什么不直接使用该float
值
0.2f
所以你的线应该是
float test = Mathf.Floor(5 % 20 * 0.2f);
注意:如果您想直接获取结果作为int
值,您可能需要使用Mathf.FloorToInt
。
只是为了完整性:ExcelFLOOR
有第二个参数significance
您想要舍入的倍数。
为了在你的行中也假装你会这样做
var result = Mathf.Floor(5 % 20 * 0.2f / significance) * significance;
- 1 回答
- 0 关注
- 74 浏览
添加回答
举报
0/150
提交
取消