mysql 實現excel 小數點後面自動請零

2021-08-30 22:23:52 字數 1407 閱讀 1371

場景:單價的處理

如:單價需要精確到小數字7位,未來計算精確,mysql中定義的型別為decimal,

結果在介面回顯的時候,輸入的值:0.001 儲存資料庫中是0.0010000 希望結果為0.001 ,

如輸入的值是:20.00 儲存資料庫中是20.0000000 希望回顯結果是20.00

由於輸入的值隨機性強,特別是如果輸入0, 回顯時候變成oe-7 超級鬱悶。。。

反思苦想,只能在mysql中處理,比較好!

解決方法:

1:先把資料轉換成字串:如:select concat(2,'');

其實在windows 中 此步驟可省略。

2:去除位數為0的字元

如:

select trim(trailing '0' from '20.00')
3: 由於輸入20.00 在進行第2步的時候 變成了"20. "  必須加上00 得出結果20.00

如:1、

select case when   (select substring_index((select trim(trailing '0' from '20.00100')), '.', -1))=""

then (select concat( (select trim(trailing '0' from '20.00100')),"00") )

else ( select trim(trailing '0' from '20.00100') )

end

2.、

select case when   (select substring_index((select trim(trailing '0' from '20.00')), '.', -1))=""

then (select concat( (select trim(trailing '0' from '20.00')),"00") )

else ( select trim(trailing '0' from '20.00') )

end

大家可以比對下2個sql輸入的結果了

其中用到的語句:

-- 替換尾數為0

select trim (trailing '0' from '20.00')

-- 獲取 .  後面的字元

select substring_index((select trim(trailing '0' from '20.00100')), '.', -1)

-- 簡單點

select substring_index('iteye.com', '.', -1)

另外判斷為""  就用case when 了,這個就不舉例了,在前面語法中已經提到。

python小數點 python 小數點問題

我想生成一組小數,大小為從0到1,間隔為0.2,即 0,0.2,0.4,0.6,0.8,1 1.while迴圈生成 a list i 0 while i 1 i 0.2 print a list 列印結果為 0,0.2,0.4,0.6000000000000001,0.8,1.0 奇怪,為什麼會有0...

判斷是否有小數 Excel教程 提取小數點

excel 教程 計算機應用 下面我們來分析一下下圖中的樣品資料,取提取的內容,我們可以思考一下有多少種方法來操作。中a列的資料,只需要小數部分,你會用什麼函式公式來提取?下面,我將以3種方法來展示。我第一反應想到的是使用mod函式,它的用法是 返回兩數相除的餘數,mod 被除數,除數 我們經常用是...

討厭的小數點

小明一直很討厭小數點,一看到小數點就頭疼。不幸的是,小紅給他出了乙個題目,問他 給你乙個小數x,你能算出小數點後第n位是什麼嗎?1 n 6 小明看到此題後,瞬間頭疼暈倒,你能幫幫他嗎?首先輸入乙個t,表示有t組資料,跟著t行 每行輸入乙個小數 輸入資料保證一定是a.b的形式,為了簡單化問題,沒有迴圈...