答案 0 :(得分:43)
答案 1 :(得分:11)
我假设你的意思是将其格式化为输出:
Console.WriteLine("{0:0.###}", value);
答案 2 :(得分:2)
要使Decimal返回使用Math.Round
,其中第二个参数指定小数点数。
decimal d = 54.9700M;
decimal f = (Math.Round(d, 2)); // 54.97
获取数字的字符串表示使用.ToString()
将小数点指定为N3。其中3是小数点
decimal d = 54.9700M;
string s = number.ToString("N3"); // "54.97"
答案 3 :(得分:1)
使用Math.Round
将其四舍五入到 3 小数位。
答案 4 :(得分:1)
限制浮点数的精度是一个SQL概念。 csharp中的十进制仅表示它将记住分配的精度。在分配之前,您可以舍入到小数点后三位。 IE,Math.Round()
。
答案 5 :(得分:0)
我的部分答案是答案,另一部分只是一个有趣的观点:
我经常希望将变量视为prop/field
。所以创建一个extension method
来解决我的问题:
Tensao只是一个与价值相关的枚举。
public static class TensaoExtensions {
public static double TensaoNominal(this Tensao tensao) {
return Math.Round((double.Parse(EnumMapper.Convert(typeof(Tensao),
tensao.ToString()))) * 1000 / Math.Sqrt(3), 3);
}
}