MS SQL Server2008大数、小数转varchar
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB神经网络应用之Elman神经
- 下一篇: 数据库MySQL与可视化界面 SQLYo