str函数在什么情况下四舍五入 select str(3.55,4,1)--3.5select str(33.55,4,1)--33.5select str(3.45,4,1)--3.5实在是搞晕了,为何前面两种不四舍五入,而后一个可以。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 str是将数值类型转为指定长度的字符串,四舍五入用round SELECT STR(123.45, 6, 1)--123.5这个又怎么解释 诸位:我似乎已经知道原因。因为str的第一个参数为浮点类型(float)当为 3.55时 转化为浮点类型为 3.5499999999999998 保留一位小数 结果为3.5当为 3.45时 转化为浮点类型为 3.4500000000000002 保留一位小数 结果为3.5 --str (float型小数[,总长度[,小数点后保留的位数]) select str(123.451)--返回 123(123前面有空格)select str(123.451,3)--返回123select str(123.451,7,3)--返回123.451select str(123.451,7,1)--返回123.5select str(123.451,5,3)--返回123.5select str(123.651,2)--返回** 返回由数字转换成的字符串。返回字符数不到总长度的前面补空格,超过总长度的截断小数位。如果需要截断整数位则返回**。 --注意在截断时遵循四舍五入 --总长度。它包括小数点、符号、数字以及空格。默认值为 10。 --小数点后最多保留16位。默认不保留小数点后面的数字 SQL Server数据库的差异备份描述为“基于的是最近一次的完整备份”,这个最近一次完整备份具体指的是什么呢? 关于取得最大的唯一值,比刚刚提过的复杂一点,一起结分,高手指教 。 关于视图和游标的作用 如何用insert批量添加数据? 简单的SQL语句,在线等。 菜鸟提问 SQL Server安全问题 想中奖吗?36选7研究 简单问题求解 ASP参数传值不可更新到数据库中 Must declare the variable '@SerID' VC6.0 ADO连接sql server2000时连接不上,不存在或拒绝访问
SELECT STR(123.45, 6, 1)
--123.5
这个又怎么解释
当为 3.55时 转化为浮点类型为 3.5499999999999998 保留一位小数 结果为3.5
当为 3.45时 转化为浮点类型为 3.4500000000000002 保留一位小数 结果为3.5
select str(123.451)--返回 123(123前面有空格)
select str(123.451,3)--返回123
select str(123.451,7,3)--返回123.451
select str(123.451,7,1)--返回123.5
select str(123.451,5,3)--返回123.5
select str(123.651,2)--返回** 返回由数字转换成的字符串。返回字符数不到总长度的前面补空格,超过总长度的截断小数位。如果需要截断整数位则返回**。
--注意在截断时遵循四舍五入
--总长度。它包括小数点、符号、数字以及空格。默认值为 10。
--小数点后最多保留16位。默认不保留小数点后面的数字