如何不显示无效的0
从数据库里读出来的数据后面带一堆0,不想让它们在datagrid里面显示出来,做成如下显示的效果来,该怎样来实现?
3.000 -----〉3
4.1560 -----〉4.156
2.10 -----〉2.1
[解决办法]
Convert.ToDouble(xxxxx)
----------------
Dim d As String = "4.15600 "
MsgBox(Convert.ToDouble(d)) '显示4.156
[解决办法]
decimal 和 numeric
带定点精度和小数位数的 numeric 数据类型。
decimal[(p[, s])] 和 numeric[(p[, s])]
定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。
p(精度)
指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。
s(小数位数)
指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。
[解决办法]
在MSSQL中的处理:
只要你确定小数点后的位数就可以了。( '.00000 '根据小数点后的位数来变化)
SELECT REPLACE(CONVERT(NUMERIC(20,5),3.10), '.00000 ', ' ')--> 3.10000
SELECT REPLACE(CONVERT(NUMERIC(20,5),3.00), '.00000 ', ' ')--> 3
在VB.NET中的处理:
VAL(1.00)--> 1
VAL(1.10)--> 1.1
[解决办法]
Convert.ToDouble(xxxxx)跟VAL(xxxxxxx)功能相同都可以,为什么要把问题考虑那么复杂,再sql里可以做,但是你的代码可读性会很差,个人意见,不支持这么做