以文本方式查看主题

-  ╋艺 镇╋  (http://wdystv.com/bbs/index.asp)
--  ┣◇网站建设&Web语言  (http://wdystv.com/bbs/list.asp?boardid=4)
----  读取小数数据,点前没有0 的几种解决方法  (http://wdystv.com/bbs/dispbbs.asp?boardid=4&id=2222)

--  作者:admin
--  发布时间:2010/9/3 23:11:10
--  读取小数数据,点前没有0 的几种解决方法
access数据库,存储的数据是用来存储工资的,字段类型为 单精度

比如数据库里存数的0.5的数据,只显示 .5 前面没有0

在读取出来时 还是 .5 前面没有0 感觉别扭,但是小数点前不是0的话就没有这样的问题存在,

请问 如何对0.5这样的数据,读取的时候让小数点前面的0显示出来?


1。
有函数的,看一下Formatnumber函数

2。
在"控制面版"---"区域和语言选项"--"区域选项"---"自定义"---"数字"---"零起始显示"中选择0.xx

3。
如果在做了法2之后还不行,就需要在程序里处理:

if DataValue<1 then
if left(DataValue,1)<>"0" then
DataValue="0"&DataValue  
end if
end if

--  作者:admin
--  发布时间:2010/9/3 23:12:14
--  
其实还有种情况可能会同时出现,那就是你填的是1.30,但在asp里只显示1.3,如果必须要显示1.30,可以这样做:

\'\'小数点后不足2位的,自动补0
if len(DataValue)-instr(DataValue,".")<2 then  
DataValue=formatNumber(DataValue,2,-1)
end if

综合上面2种问题,整合解决方法:

if int(DataValue)<>DataValue then  
\'\'小数点后不足2位的,自动补0
if len(DataValue)-instr(DataValue,".")<2 then  
DataValue=formatNumber(DataValue,2,-1)
end if

\'\'小数点前没有0的小数补0
if DataValue<1 then
if left(DataValue,1)<>"0" then
DataValue="0"&DataValue  
end if
end if  
end if