日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MS SQL Server2008大数、小数转varchar

發布時間:2023/12/9 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MS SQL Server2008大数、小数转varchar 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTJE在表中的字段類型為float(53)

試了下str, cast和convert,發現對于小數或大數,多少都存在一些問題,最后經過嘗試終于找到一種滿意的答案:

select cast(HTJE as decimal(20,2)) from T_HTGL where ID = 1002993

對于金額部分,這里設置了小數最多2位,但是尾部的0不會自動去除,怎么辦?

經過很多測試,發現在SQL層面,始終搞不定。沒辦法,最后在C#語言層面,先將double轉換為不帶尾部0的字符串,再使用這個字符串。下面是一個測試例子:

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Con1 {class Program{static void Main(string[] args){double[] list = { 0.10,0.1023,0.1234,1,12,123.12,123.10,12345678910,12345678910.12,12345678910.10,12345678910.1048,12345678910.1058,};for (var i = 0; i < list.Length; i++){var s1 = string.Format("{0:0.##}", list[i]);var s2 = list[i].ToString("0.##");Console.WriteLine("s1 = {0}, s2 = {1}", s1, s2);}}} }

運行結果如下:

s1 = 0.1, s2 = 0.1 s1 = 0.1, s2 = 0.1 s1 = 0.12, s2 = 0.12 s1 = 1, s2 = 1 s1 = 12, s2 = 12 s1 = 123.12, s2 = 123.12 s1 = 123.1, s2 = 123.1 s1 = 12345678910, s2 = 12345678910 s1 = 12345678910.12, s2 = 12345678910.12 s1 = 12345678910.1, s2 = 12345678910.1 s1 = 12345678910.1, s2 = 12345678910.1 s1 = 12345678910.11, s2 = 12345678910.11 請按任意鍵繼續. . .

可見,這個輸出的字符串滿足了要求,無尾部多余的0,且能實現保留2位小數并四舍五入!

總結

以上是生活随笔為你收集整理的MS SQL Server2008大数、小数转varchar的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。