您的位置:首页 > 数据库 > MySQL

mysql格式化小数保留小数点后两位(小数点格式化)

2015-05-17 17:31 281 查看
在做项目的时候遇到一个问题,MYSQL格式化浮点数,保留两位小数点的问题。以下为个人在网上搜索普遍的答案,但不能满足浮点数保留小数点后两位。尝试用ROUND(X,D)可以满足。

格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法

复制代码代码如下:

SELECT FORMAT(12562.6655,2);

结果:12,562.67
查看文档:Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal point or fractional part.整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的。
复制代码代码如下:

mysql> SELECT FORMAT(12332.123456, 4);

-> '12,332.1235'

mysql> SELECT FORMAT(12332.1,4);

-> '12,332.1000'

mysql> SELECT FORMAT(12332.2,0);

-> '12,332'

没有达到预期结果,想要的结果不要以逗号分隔,
复制代码代码如下:

select truncate(4545.1366,2);

结果:4545.13,直接截取不四舍五入,还是有问题。

复制代码代码如下:

select convert(4545.1366,decimal);

结果:4545.14,达到预期。
补充说明:convert不能四舍五入达到消息,convert的作用和truncate一样,截取小数点后两位。

四舍五入保留小数点后两位:ROUND(X,D)

select ROUND(4545.1366,2);
结果:4545.15,达到预期。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: