我试图使用基于千位十进制数的圆法或上限法。如何在the存储过程中写入条件?提前感谢!
示例:
如果我有这个数字: 1,793.5123611111,我想使用圆形(变量,2,1),使它变成1,793。51,所以十进制的千分之一不舍入。
如果我有这个号码: 11,80620619333
我想使用上限(变量* 100 ) /100,以使其成为11,806.21,从而使十进制数的千分之一舍入。
谢谢。
发布于 2013-10-10 19:52:47
当前的数据类型是什么?VARCHAR?
你可以试试这个
DECLARE @a VARCHAR(100) = '11,806.20619333'
PRINT CONVERT(VARCHAR(100),CAST(@a AS MONEY),1)发布于 2013-10-10 20:35:21
使用没有第三个参数的ROUND()。当未指定第三个参数时,它默认为0,这意味着舍入(任何其他值都意味着截断):
SELECT ROUND(Value, 2)
FROM (
SELECT 1793.5123611111
UNION ALL
SELECT 11806.20619333
) AS s (Value)
;上述结果将产生以下结果:
--------
1793.51
11806.21https://stackoverflow.com/questions/19303971
复制相似问题