C#-将Vector3乘以浮点值将返回四舍五入的值



Unity2020此字符串:

Debug.Log(new Vector3(1, 0, 0) * 1.25f);

返回(1.3, 0.0, 0.0)。为什么?

这就是ToString覆盖的工作方式。您可以通过使用不同的替代来指定数字的格式。例如:

var vector = new Vector3(1, 0, 0) * 1.25f;
Debug.Log(vector.ToString("F3"));

或者单独注销值:

var formatString = "F3";
Debug.Log($"Vector is X:{vector.X.ToString(formatString)}, Y:{vector.Y.ToString(formatString)}, Z:{vector.Z.ToString(formatString)}");

因为Vector3被转换为字符串,Unity 2020的默认精度为1位数。

如果需要其他内容,则需要使用格式说明符显式调用Vector3.ToString。

Debug.Log((new Vector3(1,0,0) * 1.25f).ToString("F2"));

相关内容

  • 没有找到相关文章

最新更新