| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 875 人关注过本帖
标题:VF中使用set decimal to 0 得出的结果为什么是保留2位小数
只看楼主 加入收藏
cynthia0414
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-4-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
VF中使用set decimal to 0 得出的结果为什么是保留2位小数
想保留一位小数,但使用了set decimal to 0之后始终有两位小数,不想使用round()函数,因为需要保留一位小数的地方太多了
能请大神看下,程序有什么问题吗?
set safe off
set deci to 0
sele a.*,b.b103b17,b.b205 from aa.dbf a left join bb.dbf b on a.zzjgdm=b.zzjgdm into dbf cc
sele *,left(b103b17,2) as hangdai from cc into dbf cc2
sele a.zzjgdm,a.C01_1/100000 as dycz,b.hangye from cc2.dbf a left join dd.dbf b on a.hangdai=b.hangdai into dbf 结果
出来结果如下图
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2019-4-23 09:05编辑过]

搜索更多相关主题的帖子: set 结果 保留 小数 dbf 
2019-04-23 09:04
符fp
Rank: 2
等 级:论坛游民
威 望:2
帖 子:24
专家分:32
注 册:2018-12-18
收藏
得分:7 
SET FIXED ON
2019-04-23 09:33
cynthia0414
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-4-22
收藏
得分:0 
我刚才把程序改了下,用了set fixed ON
set safe off
SET FIXED ON
set deci to 1
sele a.*,b.b103b17,b.b205 from 204_1.dbf a left join 201-2019.dbf b on a.zzjgdm=b.zzjgdm into dbf 加行业代码
sele *,left(b103b17,2) as hangdai from 加行业代码 into dbf hangdai2
sele a.zzjgdm,a.dwmc,a.C01_1/100000 as dycz,a.C01_2/100000 as dncz,a.C01_3/100000 as tycz,a.C01_4/100000 as tncz,a.C03_1/100000 as xsdy,a.C03_2/100000 as xsdn,a.C03_3/100000 as xsty,a.C03_4/100000 as xstn,a.C04_1/100000 as ckdy,a.C04_2/100000 as ckdn,a.C04_3/100000 as ckty,a.C04_4/100000 as cktn,a.hangdai,b.hangye from hangdai2.dbf a left join 两位行业代码对照全工业.dbf b on a.hangdai=b.hangdai into dbf 204加行业
sum(dncz) to ljcz
sum(xsdn) to xsdnlj
sum(ckdn) to ckdnlj
sum(tncz) to ljtn
SET FIXED ON
set deci to 1
sele count(zzjgdm) as 企业数,sum(dncz),(sum(dncz)/sum(tncz)-1)*100 as czzs,sum(xsdn),(sum(xsdn)/sum(xstn)-1)*100 as xszs,sum(ckdn),(sum(ckdn)/sum(cktn)-1)*100 as ckzs,sum(dycz),(sum(dycz)/sum(tycz)-1)*100 as dyzs from 204加行业.dbf into dbf 总体情况
copy to 1-总体情况 xl5
问题1:set fixed on 放在set deci 之前还是之后,我两种都试了,好像效果都一样
问题2:生成的数据库文件是1位小数,但转成XL5就变成3位小数了
图片附件: 游客没有浏览图片的权限,请 登录注册
2019-04-23 09:51
cynthia0414
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-4-22
收藏
得分:0 
刚才发现虽然browse出来的dbf是一位小数,但查看表格式,仍然是3位小数
图片附件: 游客没有浏览图片的权限,请 登录注册
2019-04-23 10:23
xuminxz
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:24
帖 子:488
专家分:1569
注 册:2011-5-8
收藏
得分:7 
H表是什么?总体情况表是不是数据库表?把它删除,创建一个自由表,或临时表试试。
如果只想在输出时,保留一定的小数。可以先建立一个空表,把统计好的表数据追加进来再输出,它会自动四舍五入。
SET DECIMALS TO 命令最好少用,它常常带来想不到的错误结果。

[此贴子已经被作者于2019-4-25 08:25编辑过]


dBase有人接盘了。
2019-04-25 08:20
donotspam
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:109
注 册:2016-2-28
收藏
得分:7 
将DBF表结构中各字段的小数位设为1
2019-04-26 10:52
快速回复:VF中使用set decimal to 0 得出的结果为什么是保留2位小数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061744 second(s), 9 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved