您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

限制小数点后两位至3位

限制小数点后两位至3位

双打没有小数位- 它们不是基于十进制数字开头的。您可以得到“截断为三个十进制数字时最接近当前值的双精度数”,但是它仍然不会完全相同。最好使用decimal

话虽如此,如果仅是四舍五入发生问题的方式,则可以使用Math.Truncate(value * 1000) / 1000;后者 完成您想要的事情。(从声音上,您根本不需要 四舍五入 。)尽管如此,它仍然可能是“狡猾的”,因为结果实际上仍然不会只有三位小数。但是,如果使用十进制值执行相同的操作,则 可以 使用:

decimal m = 12.878999m;
m = Math.Truncate(m * 1000m) / 1000m;
Console.WriteLine(m); // 12.878

编辑:正如LBushkin所指出的,您应该在为 显示 目的而截断(通常可以在格式说明符中完成)与为进一步的计算而截断(在这种情况下,上面的方法应该有效)之间是清楚的。

其他 2022/1/1 18:17:17 有551人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶