我正在使用 Microsoft SQL Server Express 2016 编写一个 存储过程。其中一个要求是进行四舍五入。但是有时候,四舍五入出现了错误。我发现 T-SQL 的四舍五入与 C# 不完全相同,为什么呢?
比较下面的两个四舍五入方法:
什么是解释?
比较下面的两个四舍五入方法:
In T-SQL: ROUND(0.045, 2) --> this will produce 0.05
In C#: Math.Round(0.045, 2) --> this will produce 0.04
C#为什么会产生0.04?难道不应该是0.05吗?
我该怎么做才能让C#的四舍五入等同于T-SQL的四舍五入呢?
出于好奇,我在C#中尝试了这个:
Math.Round(0.055, 2)
猜猜C#四舍五入后是多少?它四舍五入到0.06!现在,我完全困惑了!
Math.Round(0.045, 2) // This becomes 0.04
Math.Round(0.055, 2) // This becomes 0.06
什么是解释?