您的位置:程序门 -> .net技术 -> vb.net



如何不显示无效的0


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何不显示无效的0
发表于:2007-02-08 11:03:21 楼主
从数据库里读出来的数据后面带一堆0,不想让它们在datagrid里面显示出来,做成如下显示的效果来,该怎样来实现?
3.000     -----〉3
4.1560   -----〉4.156
2.10       -----〉2.1
发表于:2007-02-08 11:16:341楼 得分:0
dim   a   as   string   =   "1200 "
a   =   a.trimend( "0 ")
msgbox(a)
发表于:2007-02-08 11:19:332楼 得分:0
将取出的数据先.tostring(),然后trimend( "0 "),再trimend( ". "),行不行?
发表于:2007-02-08 11:21:133楼 得分:0
但是要提醒楼主末尾的0不是无效的,很可能保存数据的精度信息。
发表于:2007-02-08 11:23:464楼 得分:0
convert.todouble(xxxxx)
----------------
dim   d   as   string   =   "4.15600 "
msgbox(convert.todouble(d))   '显示4.156
发表于:2007-02-08 11:29:485楼 得分:0
.tostring( "#.#### ")
发表于:2007-02-08 11:31:316楼 得分:0
经过努力学习,知道原来是可以通过sql语句来控制的,哦吼~
发表于:2007-02-08 11:34:397楼 得分:0
多谢大家热心帮助阿
顺便再问问各位大虾,sql里面numeric数据类型的精度和小数位数分别是代表什么的?
发表于:2007-02-08 11:35:208楼 得分:0
楼主说一下解决方法吧.
发表于:2007-02-08 11:38:029楼 得分:0
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。最大存储大小基于精度而变化。
发表于:2007-02-08 11:42:5110楼 得分:0
报喜有点早了,刚知道sql可以控制小数位数,截掉后面的0……
再研究研究
自己先汗个~~
发表于:2007-02-08 11:54:4211楼 得分:0
在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
发表于:2007-02-08 11:58:3012楼 得分:0
比较笨的办法,要两者结合才可以达到楼主的效果。
发表于:2007-02-08 12:23:0513楼 得分:0
两者结合可能还不太理想吧,比如
val(select   replace(convert(numeric(20,5),3.10), '.00000 ', ' '))
它的结果应该还是3.10吧
发表于:2007-02-08 12:36:1014楼 得分:0
convert.todouble(xxxxx)跟val(xxxxxxx)功能相同都可以,为什么要把问题考虑那么复杂,再sql里可以做,但是你的代码可读性会很差,个人意见,不支持这么做
发表于:2007-02-08 12:42:5615楼 得分:0
该回复于2007-12-21 19:38:51被管理员或版主删除
发表于:2007-02-08 13:08:3916楼 得分:0
其实现在的问题是如何将1.0转为1的做法,统一在1.120转为1.12的做法里面。
发表于:2007-02-08 13:14:5417楼 得分:0
如何统一在其中了?不明白
发表于:2007-02-08 13:32:2518楼 得分:0
就系要对1.0--> 1和1.120--> 1.12都要可以处理的方法。
发表于:2007-02-09 23:34:1819楼 得分:0
if   a=0   than
a= " "
end   if
发表于:2007-03-07 13:57:0220楼 得分:0
yestou2()  
您在搞笑么?


快速检索

最新资讯
热门点击