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"));