ZkbFighting

直接上代码

首先明确:

1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
3.CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。

虽然说CAST不支持四舍五入,但是有的还是执行了四舍五入了:

select cast(\'12.239\' as decimal(5,2))--12.24

反正,遇到四舍五入还是用Round吧

例子

--decimal(32,3) 这里的\'3\'是你要保留的位数
select cast(\'12.362222\' as  decimal(32,3))--》12.362 

--round(\'数字\',\'四舍五入后保留小数点后几位\')
select round(122.5255,2)--122.5300

--然后用cast(\'数字\' as  目标类型(一共多长,小数点后保留多少位) )
--numeric基本等同于Decimal
select   cast(round(122.5255,2)   as   numeric(5,2))--这个就是将122.5300这个,保留全部是5,小数点后是2  122.53
select cast(\'12.3898989\' as decimal(32,20))--》12.38989890000000000000
SELECT CAST(\'12.56\' AS decimal(10,8))--==>12.56000000

--比如下面这个 12.56,decimal全长是要保持10,小数点后要保留8个
--这里最多是8, 因为12已经占去2位,小数点最多是8个
SELECT CAST(\'12.56\' AS decimal(10,8))--12.56000000
SELECT CAST(\'12\' AS int)-->12
SELECT CAST(\'12.0\' AS int)-->报错,double类型的字符串不能转成int
SELECT   (Round(cast(\'12.36\' as  decimal(32,2)) * cast(\'1.23\' as  decimal(32,2)),2))--》15.2000
" * "代表 +-*/

 

分类:

技术点:

相关文章:

  • 2021-12-18
  • 2019-11-08
  • 2021-05-18
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
  • 2021-10-12
  • 2021-12-18
猜你喜欢
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
相关资源
相似解决方案