前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
在做項目的時候遇到一個問題,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,達到預期。
?
轉自:https://blog.csdn.net/haojiahj/article/details/45790497