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

格式化浮点数的问题,用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,达到预期。

时间: 2024-10-09 00:51:28

mysql格式化小数保留小数点后两位(小数点格式化)的相关文章

js如何实现数字保留小数点后两位小数

js如何实现数字保留小数点后两位小数:小数点后保留两位小数是比较常见的形式,由于比较简单,下面直接给出例子.代码如下: var num=3.1415926; console.log(num.toFixed(2)); toFixed()函数可以参阅javascript的Number对象的toFixed()方法一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9567 更多内容可以参阅:http://www.softwhy.

JAVA除法保留小数点后两位的两种方法 Java Math的 floor,round和ceil的总结

floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11. ceil 则是不小于他的最小整数 看例子   Math.floor Math.round Math.ceil 1.4 1 1 2 1.5 1 2 2 1.6 1 2 2 -1.4 -2 -1

input输入框只能输入正数和小数(保留小数点后两位)

1.限制只能输入正数和小数保留小数点后两位 1 <input type="number" id="txtNum" /> 2 3 <script type="javascript"> 4 $(function(){ 5 $("#txtNum").keyup(function () { 6 $(this).val(ChangeNumValue($(this).val())); 7 }); 8 9 10 })

限制输入,输入金额 和保留小数点后两位

//判断是否是浮点类型 + (BOOL)isPureFloat:(NSString*)string { NSScanner* scan = [NSScanner scannerWithString:string]; float val; return [scan scanFloat:&val] && [scan isAtEnd];} //在textFiled中限制输入位数 if ([string isEqualToString:@""]) { return YE

Android 保留小数点后两位,并采取四舍五入

//小数点后两位四舍五入 private double formatDouble2(double d) { BigDecimal bigDecimal = new BigDecimal(d); double bg = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); return bg; } 原文地址:https://www.cnblogs.com/niupi/p/11428915.html

Java中double类型的数据精确到小数点后两位

Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 二: new java.text.DecimalFormat("#.00").format(3.1415926) 三: double d = 3.1415926

控制input标签中只能输入数字以及小数点后两位

js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { obj.value = ""; } if (obj != null) { //检查小数点后是否对于两位http://blog.csdn.net/shanzhizi if (obj.value.toString().split(".").length > 1 &a

Java中取小数点后两位(四种方法)

摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法) 一 Long是长整型,怎么有小数,是double吧     java.text.DecimalFormat   df=new   java.text.DecimalFormat("#.##");     double   d=3.14159;     System.out.println(df.format(d)); 二 java.math.BigDecimal     B

java 取小数点后两位 不四舍五入,怎么做

java 取小数点后两位 不四舍五入,怎么做 正常版: //正常版: import java.text.DecimalFormat; import java.math.RoundingMode; DecimalFormat formater = new DecimalFormat(); formater.setMaximumFractionDigits(2); formater.setGroupingSize(0); formater.setRoundingMode(RoundingMode.F