如何删除少于百分之一的小数

时间:2014-05-22 17:42:32

标签: c# sql .net math decimal

我想删除小于百分之一的任何分数。例如,如果它是7526.50,那么我希望它是7500(扣除26.50)。在C#我这样做如下。

NetWage = decimal.Truncate(netEarning / 100) * 100;

如何在Sql(MS SQL Server)中执行此操作?

在C#中有更优雅的方法吗?

3 个答案:

答案 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