【问题标题】:Rouding failing for whole numbers in Stored procedure存储过程中整数舍入失败
【发布时间】:2014-06-04 09:17:48
【问题描述】:

如何将整数舍入到小数点后一位?我在 sql server 2012 的表中有一个浮点字段,例如,我需要在小数点后一位显示该值。

我有一个值为 5 我需要将其显示为 5.0

【问题讨论】:

  • 这个应该在display/formatting/ui层完成
  • 试试CONVERT(DECIMAL(10,1), YourColumn),其中 10 是它可以包含的位置总数。您可以相应地调整它

标签: sql-server stored-procedures sql-server-2012


【解决方案1】:

如果您只有整数,则没有必要舍入,而是将.0 连接到您的结果。但是,如果您希望浮点数和整数一起出现,并且您希望它们都显示为 1 个浮点数,那么您可以试试这个-

DECLARE @Var FLOAT
SET @Var=5
SELECT ROUND(CAST(@Var AS DECIMAL(15,1)),1)

SET @Var=5.19
SELECT ROUND(CAST(@Var AS DECIMAL(15,1)),1)

结果将分别为5.05.2

【讨论】:

    猜你喜欢
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 2019-04-27
    • 2019-07-22
    • 1970-01-01
    相关资源
    最近更新 更多