我想删除小于百分之一的任何分数。例如,如果它是7526.50,那么我希望它是7500(扣除26.50)。在C#我这样做如下。
NetWage = decimal.Truncate(netEarning / 100) * 100;
如何在Sql(MS SQL Server)中执行此操作?
在C#中有更优雅的方法吗?
答案 0 :(得分:2)
在C#中有更优雅的方法吗?
我不确定这是否优雅,但有一种方法(我使用)。
decimal d =7526.50m;
decimal truncated = d - (d % 100);
您也可以在SQL中应用相同的逻辑。
答案 1 :(得分:1)
在C#中:
Math.Round(7526.50m / 100m, 0) * 100m
在SQL Server中:
SELECT ROUND((7526.50 / 100), 0) * 100
如果您需要整数值而不是十进制值,请改用:
在C#中:
(int) (Math.Round(7526.50m / 100m, 0) * 100m)
在SQL Server中:
SELECT CAST( ROUND((7526.50 / 100), 0) * 100 AS INT)
答案 2 :(得分:0)
您可以在T-SQL中尝试以下操作。
select floor(cast(7526.50/100 as int))*100 as mynum