先乘以100,然后用Mathf.Ceil/Floor转换后再除回100
float value = 3.576f;
float newValue = Mathf.Ceil(value * 100) / 100;
Debug.Log(string.Format("{0}:{1}",value,newValue));
输出 3.576 : 3.58
float value = 3.576f;
var newValue = Math.Round(value,2);
Debug.Log(string.Format("{0}:{1}",value,newValue));
结果也是输出 3.576 : 3.58
float value = 3.5f;
Debug.Log(string.Format("{0}:{1}",value,Math.Round(value,2)));
输出 3.5 :3.5
float value = 3.576f;
Debug.Log(string.Format("{0}:{1:F2}",value,value));
输出 3.576 : 3.58
float value = 3.5f;
Debug.Log(string.Format("{0}:{1:F2}",value,value));
输出 3.5 : 3.50
float value = 3.5f;
Debug.Log(string.Format("{0}:{1:0.##}",value,Math.Round(value,2)));
输出 3.5 :3.5
- 区别
- Math.Round 和 string.format都是使用4舍5入来保留小数的,所以无要求的情况下用这两种会比较方便。如果有需求的话,那就用第一种方法。
- Math.Round 和 string.format的区别
可以看到 Math.Round 对 3.5 处理后输出也是3.5; 而string.format则可以选择是否补0,也就是可以选择显示3.5或3.50
网友评论