資料庫中保留兩位小數

2022-05-07 01:45:07 字數 1384 閱讀 1720

引入:

本人菜鳥,今天遇到乙個問題,把資料庫中的一列值保留兩位小數查出來;

在網上搜尋了很多關於資料庫中保留兩位小數的文章,可惜總是不能實現,後來自己總結了下,

才發現原來很簡單,是自己沒有理解夠;

在這之前先介紹下幾個函式:

1:round()這是四捨五入函式,用於把數值字段捨入為指定的小數字數。

例如:   select round(column_name,decimals) from table_name;

網上說這個函式可以保留 四捨五入兩位小數,可是我發現select round(19.434,2)出來的是19.430而不是19.43,

可能是由於不能資料庫的關係,竟然講到這個函式,我就對這個函式解釋下總結了下網上一些部落格對它的了解

round 有兩個過載,乙個是兩個引數,乙個是三個引數:

1.帶有兩個引數.每二個引數是小數點的左邊第幾位或右邊第幾位,分別用正負表示.左邊為負,右邊為負.為四捨五入.

select round(567.45676,-1)  570.00000(-1 表示四捨五入到右邊第1位,其中,個位為第0位,四捨五入後捨棄的部分顯示為0)

select round(567.45676,2)  567.46000

select round(20,-3)           0

2.帶三個引數.第二個引數同上.第三個引數有兩種可能,一種是取0為四捨五入.另一種是正負值,則為捨去

select  round(567.45676,2,0)  567.46000(跟兩個引數意義的結果,可以把兩個引數的當為三位引數的特例為第三引數0)

select  round(567.45676,2,3)   567.45000(第三個引數不為0,所以為捨去,捨棄兩位以後的數字,變為567.45捨棄部位為0所以是567.45000)

select  round(567.45676,2,3)   567.45000

2:cast(value as type)函式,其實要保留兩位小數,只需要把用select cast(19.4667 as decimal(9,2))就可以這樣出來是19.47要是不想四捨五入的話,

可以 先用round函式處理下select cast(round(19.4667,2,3) as decimal(9,2)) 19.46當round函式第三個引數不為0就可以;

3:convert(type,value)函式擁有和cast一樣的功能select convert( decimal(9,2),round(19.4667,2,3) ) 19.46

JS中保留兩位小數

這裡使用字串的 123.0000 是因為如果使用var number 123.0000這種number型別宣告方式js會把後面的4個0自動省略為123.var number 123.0000 d d d 該規則中的 1代表取第乙個括號的內容,來替換當前字串,在括號外加上 d 是為了匹配123.000...

Lua中保留兩位小數

在使用lua進行開發的時候,經常會遇到保留n位小數的問題,這裡以保留兩位小數為例,記錄一下需要注意的地方!在選擇處理方案之前,首先要確認需求,搞清楚保留兩位小數是指小數點後第三位四捨五入還是從小數點後第三位開始直接捨去!小數點後第三位四捨五入 string.format 2f num local n...

關於js中保留兩位小數

numberobject.tofixed num 關於這裡的num,是必填的,用於規定小數的位數,是 0 20 之間的值,包括 0 和 20,如果省略了該引數,將用 0 代替。關於這個方法的返回值,返回值型別是字串並不是數值!今天我用了這個方法取兩位小數,最後累加的結果嚇我一跳,是把所有結果當成字串...