mysql處理貨幣

2021-09-25 12:03:39 字數 868 閱讀 5683

convert(zje,decimal (18,2))

1、round(x,d) :用於資料的四捨五入,round(x)  ,其實就是round(x,0),也就是預設d為0;

這裡有個值得注意的地方是,d可以是負數,這時是指定小數點左邊的d位整數字為0,同時小數字均為0;

select round(100.3465,2),round(100,2),round(0.6,2),round(114.6,-1);

結果分別:100.35,100,0.6,110

2、truncate(x,d):函式返回被捨去至小數點後d位的數字x。若d的值為0,則結果不帶有小數點或不帶有小數部分。若d設為負數,則截去(歸零)x小數點左起第d位開始後面所有低位的值。

select truncate(100.3465,2),truncate(100,2),truncate(0.6,2),truncate(114.6,-1);

結果分別:100.34,100,0.6,110

3、format(x,d):強制保留d位小數,整數部分超過三位的時候以逗號分割,並且返回的結果是string型別的

select format(100.3465,2),format(100,2),format(,100.6,2);

結果分別:100.35,100.00,100.60

4、convert(value,type);型別轉換,相當於擷取

type:

select convert(100.3465,decimal(10,2)), convert(100,decimal(10,2)),convert(100.4,decimal(10,2));

結果分別:100.35,100,100.4

參考:

用整數型別處理貨幣

在日常生活中,最容易接觸到的小數就是貨幣,比如你付給售貨員10元錢購買乙個9.60元的零食,售貨員應該找你0.4元也就是4毛錢才對,我們來看下面的程式 public class client 我們期望的結果是0.4,也應該是這個數字,但是列印出來的卻是0.40000000000000036,這是為什...

2 22 用整數型別處理貨幣

system.out.println 10.00 9.60 本來期望輸出應該是0.4,結果列印出來的卻是0.40000000000000036,這是為什麼呢?因為計算機中的浮點數有可能是不準確的,它只能無限接近準確值,而不能完全精確。使用numberformat雖然能夠列印出0.4,但是往深處考慮,...

區塊鏈系列課程 02 電子貨幣與物理貨幣的區別?

第一周第一節第二課 02.電子貨幣與物理貨幣的區別?上一節課講了物理貨幣本質是人們在進行交易時對價值契約的追求,隨著科學技術的進步,貨幣的表現形式會變得越來越穩定,這一特點也是貨幣本身所代表的信用屬性的內在要求,即貨幣一定是要選擇最為穩定的價值實體,然而現實卻是沒有任何一種物理實體能夠做到其內在價值...