在小数点后截断零

时间:2014-09-28 12:14:41

标签: c# sql

我已尝试过网上提供的解决方案但无法找到解决我问题的解决方案。

我的问题很简单。我在Quantity列中有一个值:120.00 AS Decimal(18,2)

但如果只有零,我不想在小数后显示零。

表示要显示的所需值为:120

在SQL端或C#中寻找解决方案。

感谢。

2 个答案:

答案 0 :(得分:1)

在SQL中,你可以这样做:

select (cast when quantity = floor(quantity) then cast(floor(quantity) as varchar(255))
             else cast(quantity as varchar(255))
        end)

我认为这对小数类型通常有用。特定的SQL引擎可能有其他功能可以提供帮助。例如,Oracle有to_char(),SQL Server有str()

答案 1 :(得分:1)

如果“显示零”来自C#应用程序(问题不是很清楚),那么你可以使用ToString()和Custom Numeric Format

myDecimal.ToString("#.##");

如果存在,将返回两位小数,但如果它们全部为零则将它们排除