以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据类型的疑问?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52730)

--  作者:scott518
--  发布时间:2014/6/21 20:56:00
--  数据类型的疑问?

如果是sql中的数据类型设置为numeric(18,2),这样所有的小数都只显示两个小数位,但整数后面也会多显示.00出来,要想不显示后面的0怎么办?如果用双精度小数float则小数有时会多出很多不必要的0出来,也很不好。

要选择哪种数据才能达到小数位数按需要的设置好,整数则后面不出现多余的0出来?主要是不想另外用format去每张表设置,表多时很烦锁,谢谢!


--  作者:有点甜
--  发布时间:2014/6/22 9:34:00
--  

 方法一:不要弄成 numeric(18,2) 类型,这个肯定是要多出 00 的

 

 方法二:编写drawcell代码,把e.Text改一下,就能控制不显示00


--  作者:scott518
--  发布时间:2014/6/22 10:53:00
--  
如果设置成double,有是会莫明其妙的跑出类似123.0000000000012这样很多小数的数据来,如果用e.text改那不是也和format一样每个表都去设定,看来是只能选其一了,谢谢!
--  作者:有点甜
--  发布时间:2014/6/22 10:54:00
--  
 如果不想有误差,可以改成高精度小数。
--  作者:scott518
--  发布时间:2014/6/22 11:16:00
--  

 高精度小数在sql里查看就是numeric(18,4) ,就回到我1楼说的问题了,查询时整数就会后面多出几个0来。

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20140622110604724.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/6/22 11:19:00
--  

 呃,常理是不会这样的,你是不是设置了固定小数位数啊?我用内部表测试,不会多出0的啊。