首页 > 数据库 >MySQL: 不四舍五入取整、不四舍五入取小数、四舍五入取整、向下取整、向上取整、四舍五入取小数

MySQL: 不四舍五入取整、不四舍五入取小数、四舍五入取整、向下取整、向上取整、四舍五入取小数

时间:2022-10-26 20:16:04浏览次数:62  
标签:四舍五入 number round 取整 52.45 小数

总结了MySQL中不四舍五入取整(截取整数部分)、四舍五入取整、向下取整、向上取整、四舍五入取小数、不四舍五入取小数的几种方法。

其中:

不四舍五入取整(截取整数部分)就是‘向下取整’;

除了用truncate函数来不四舍五入取小数,我们还可以通过变换的方法利用向下取整得到。

先把需要的小数部分换算成整数,使用向下取整后再换算成小数。

具体方法

类型 表达式 举例 结果
四舍五入取整 round(expr)。后面没有number默认四舍五入取整 round(52.45) 52
四舍五入取整 round(expr,0)。number指取几位小数 round(52.45, 0) 52
四舍五入取整 round(expr,0)。number指取几位小数 round(52.54, 0) 53
四舍五入取一位小数 round(expr,number)。number指取几位小数 round(52.45, 1) 52.5
四舍五入取一位小数 round(expr,number)。number指取几位小数 round(52.54, 1) 52.5
不四舍五入取整(截取)、向下取整 floor(expr)。默认没有number参数,只能取整,不能取几位小数 floor(52.45) 52
不四舍五入取整(截取)、向下取整 floor(expr)。默认没有number参数,只能取整,不能取几位小数 floor(52.54) 52
向上取整 ceiling(expr)。默认没有number参数,只能取整,不能取几位小数 ceiling(52.45) 53
向上取整 ceiling(expr)。默认没有number参数,只能取整,不能取几位小数 ceiling(52.54) 53
不四舍五入取一位小数 truncate(expr,number)。number指取几位小数 truncate(52.45,1) 52.4
不四舍五入取一位小数 truncate(expr,number)。number指取几位小数 truncate(52.54,1) 52.5
不四舍五入取一位小数 round(floor(expr*temp)/temp,number)。其中temp=10^number,number指取几位小数 round(floor(52.45*10)/10,1) 52.4
不四舍五入取一位小数 round(floor(expr*temp)/temp,number)。其中temp=10^number,number指取几位小数 round(floor(52.54*10)/10,1) 52.5

验证代码

select
  round(52.45) as round1,
  round(52.45, 0) as round2,
  round(52.54, 0) as round3,
  round(52.45, 1) as round4,
  round(52.54, 1) as round5,
  floor(52.45) as floor1,
  floor(52.54) as floor2,
  ceiling(52.4) as ceiling1,
  ceiling(52.5) as ceiling2,
  truncate(52.45,1) as truncate1,
  truncate(52.54,1) as truncate2,
  round(floor(52.45*10)/10,1) as floor11,
  round(floor(52.54*10)/10,1) as floor21
  
#输出:52|52|53|52.5|52.5|52|52|53|53|52.4|52.5|52.4|52.5

标签:四舍五入,number,round,取整,52.45,小数
From: https://www.cnblogs.com/chengyj/p/16829830.html

相关文章

  • 通过计算的文本宽度,由于小数四舍五入引起的文字显示不全问题
    通过计算的文本宽度,由于小数四舍五入引起的文字显示不全问题:通过计算的文本宽度,若出现小数,而手机的屏幕有最低分辨率(BG_1PX(1.0f/[UIScreenmainScreen].scale)),标签的......
  • POJ 2390 (小数高精度乘法)
    小数高精度乘法m*(1+r/100)^yProgramP2390;constmaxn=40000;F=10;typearr=recordd:array[1..maxn]oflongint;len,doc:longint;end;var......
  • POJ 3575(计算几何与二分-无尽的小数处理)
    这题写了将近半个月……总是在D各种Bug总的说来-这题最难应该是在精度处理上11001这组数据过了就说明精度处理差不多了……Programkingdom;constmaxn=100;maxm=10......
  • Java保留2位小数(六种方法)
    一、使用java.math.BigDecimal类publicstaticStringformat1(doublevalue){BigDecimalbd=newBigDecimal(value);bd=bd.setScale(......
  • BigDecimal的加减乘除(包含除法保留两位小数,并不要四舍五入)
    同于经常要用到BigDecimal作数据运算,这里记录一下,总是忘记写法,懒得每次用再去百度了 BigDecimal的加法:BigDecimala=newBigDecimal("1");BigDecimalb=newBigD......
  • PHP保留两位小数的几种方法
    这篇文章主要介绍了PHP保留两位小数的几种方法,需要的朋友可以参考下 代码如下所示:$num=10.4567;//第一种:利用round()对浮点数进行四舍五入echoround($num,2......
  • 小数点的精确方法
    小数点的精确方法1.直接用格式化输出String.format()doubleb=123.4;System.out.println(String.format("%.3f",b));//打印结果为123.400//这里精确到小数点后三位Sys......
  • 小数点对齐
    1.小数点/括号对齐--适用于计算n(%)类datastep中使用put或input函数,设置格式。在style(column)=[asis=on],就是保护空格,如果某行第一个字母是空格,不被压缩,从而正常显......
  • 正则匹配正整数及正整数+小数
    [0-100]不含0和100,只匹配整数constreg=/^([1-9][0-9]{0,1}|99)$/if(reg.test(value)===true){console.log(`匹配成功`)}[0-100]不含0和100,保留小数点后1......
  • 数字保留两位小数,处理精度问题
    在vue的filters中添加数字处理的方法priceFilter(val){val=Math.round(val*100)/100constvalStr=val.toString()if(valStr.indexOf('.')===-1)ret......