C# 不要自动四舍五入!
string v = string.Format("{0:F2}",123.525);
执行以上代码得到 "123.43",四舍五入了!
int v = (int)123.525; 得到 124 ,又四舍五入了!
有时候往往不需要四舍五入的。
/// <summary> /// 双精度数转换,忽略自动四舍五入 /// </summary> /// <param name="p_value">待转换的双精度值</param> /// <param name="p_digits">小数位数</param> /// <returns></returns> public static double MathNoRound(double p_value, uint p_digits) { double d = Math.Pow(10, p_digits); if (p_digits == 0) return p_value > 0 ? Math.Floor(p_value) : Math.Ceiling(p_value); return p_value > 0 ? Math.Floor(p_value * d) / d : Math.Ceiling(p_value * d) / d; }
TAG: