R ruolink Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #1 在SQL里面怎样才能让一个数字四舍五入成两位小数?我用round,可是这样写的时候有问题: round(123.33333,2) 结果是123.33000,我想要的结果是123.33 怎么办?
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #3 通过改变相应控件的显示格式。 小数点后面有几个 0 有什么关系。 硬要那样,查询时转换为字符串型。
W winsock Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #5 我很少用round的,我一般用format函数的! format('%0.2f',[123.33333]);
H hfhuga Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #6 select CONVERT(decimal(10,2),123.33333)
L lqy661 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-26 #8 [red]select cast(yourfield as numeric(28,2) from yourtable[/red]
W woyaoying Unregistered / Unconfirmed GUEST, unregistred user! 2003-11-16 #9 好像都不对啊~~ 我也正在寻找 Round保留一位小数出现bug declare @sd Real set @sd = 32.35 set @sd = Convert(Decimal(3,1),@sd)--无论怎么转化都是32.3,用round也不行。为什么不是32.4呢? 那位高手能回答? print @sd
好像都不对啊~~ 我也正在寻找 Round保留一位小数出现bug declare @sd Real set @sd = 32.35 set @sd = Convert(Decimal(3,1),@sd)--无论怎么转化都是32.3,用round也不行。为什么不是32.4呢? 那位高手能回答? print @sd
B bryanwang Unregistered / Unconfirmed GUEST, unregistred user! 2003-11-16 #10 是因Real类型在SQL的数据结构中用的不是精确表示法, 所以set @sd = 32.35的结果可能变成32.349999999.., 所以给舍掉了, 你可以试试用其它精确的数值(Numeric,Decimal)类型定义@sd,肯定没问题!
是因Real类型在SQL的数据结构中用的不是精确表示法, 所以set @sd = 32.35的结果可能变成32.349999999.., 所以给舍掉了, 你可以试试用其它精确的数值(Numeric,Decimal)类型定义@sd,肯定没问题!
W woyaoying Unregistered / Unconfirmed GUEST, unregistred user! 2003-11-17 #12 谢谢bryanwang 换成Decimal(19,2)或者Numeric(19,2)就可以了