可以说我的值为3.4679并想要3.46,如何将其截断为两位小数而又不取整?
我已经尝试了以下方法,但是所有这三个都给了我3.47:
void Main() { Console.Write(Math.Round(3.4679, 2,MidpointRounding.ToEven)); Console.Write(Math.Round(3.4679, 2,MidpointRounding.AwayFromZero)); Console.Write(Math.Round(3.4679, 2)); }
这将返回3.46,但看起来有些肮脏:
void Main() { Console.Write(Math.Round(3.46799999999 -.005 , 2)); }
value = Math.Truncate(100 * value) / 100;
注意,这样的分数不能在浮点数中准确表示。