回 帖 发 新 帖 刷新版面

主题:数据库生成xml文件后,单价问题

各位老师,有的品种在数据库里,RUKUJIA原来是9.7,数据库生成xml文件后,在xml文件里,RUKUJIA却成了9.699999999999999,这种情况有好多,还有的是9.80000000000001.这是什么原因啊,困扰了好多天,下面是代码,请老师们帮我看看是什么原因造成的,谢谢!
***********************************************
use yaopin
rq=date()-1
hhh="d:\rkdyf\"+subs(dtoc(rq),1,4)+subs(dtoc(rq),6,2)+subs(dtoc(rq),9,2)+"期初库存.xml"
=cursortoxml("YaoPin",hhh)
function cursortoxml
parameters alias1,outputfile
local string1
select (alias1)
=afield(fa1)
length1=alen(fa1,1)
fhandle1=fcreate(outputfile)
=fput(fhandle1,'<?xml version="1.0" encoding="utf-8"?>')
=fput(fhandle1,"<Upload>")
scan
for   i=iif(danjuhao=" ",4,1)  to   length1
string1="<"+fa1[i,1]+">"+alltrim(trans(eval(fa1[i,1])))+"</"+fa1[i,1]+">"
=fput(fhandle1,string1)
endfor
Endscan
=fput(fhandle1,chr(9)+"</RuKu>")
=fput(fhandle1,"</YaoPin>")
=fput(fhandle1,"</Upload>")
=fclose(fhandle1)
aaab=hhh
run/n notepad "&aaab"

回复列表 (共4个回复)

沙发

这并非程序代码本身的问题。类似的问题在转换到Excel中(或由Excel转来)也时有发生,所以要根据具体问题寻求合适的办法予以解决。

板凳

关注vfp运用xml

3 楼

你缺少对字段类型及长度的定义,通过vfp自身的函数转换的字段定义如下:

</xsd:element>
                                <xsd:element name="rukujia">
                                    <xsd:simpleType>
                                        <xsd:restriction base="xsd:decimal">
                                            <xsd:totalDigits value="7"/>
                                            <xsd:fractionDigits value="1"/>
                                        </xsd:restriction>
                                    </xsd:simpleType>

4 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册