VFP计算不对的问题

我现在使用VFP编写了一个薪酬数据库,基本库是用以前FOX BASE的,但是同样的程序算出来的结果却不一样,FOX BASE算出来的结果和税务局的是一样的,VFP算出来的结果和EXCEL是一样的但是和税务局不一样,相差了接近2快多的钱,我判断是小数浮点的问题,但是不知道怎么解决,请问有人知道怎么办吗?
(不要告诉我差2快多钱还计较什么的,给财务报账一分钱都不能错,差一分钱就要给领导写一次说明,请知情的帮帮忙啊,你们编写数据库都没出现这种问题吗?)

这个问题很好办,首先找出你出错的记录(编个小程序比较新、旧数据),然后再分析算法,肯定是算法出问题啦,中间结果的精度不一样造成的追问

算法是一模一样的,我学了VFP这么多年你说的我连这也能编错那我也太白痴了。
fox base的运算遇到小数点后为5的是退位的,不是进位,(例如1.2350,—保留2位小数VFP是1.24,fox base是12.3)一样的算法出现两个数,不是我的式子由问题。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-03
这个我能帮你,资料发上来看看追问

公司的数据涉及到一些机密,只给你发计算公式可以吗?

VFP中我写了一个计算公式,怎么算出来的跟计算器算出来的不一样啊。
str函数没有参数时默认小数位为0(所以小数部分被四舍五入了)str函数是将数转换为字符 格式Str(数值表达式,长度,小数位)其中长度是总长度(整数部分+小数点+小数部分)说明:1.省略小数位时,默认不含小数(小数部分四舍五入)2.不指定长度时默认长度为10位 比如:x=23.456 Str(x,6,3)的值为...

VFP 计算出现数据类型不匹配 语句是 se
先排除以下[工时]、[实际产量]、[标准产量]、[标准人数]、[实际人数]的字段不是数值型的问题。那么就是方括号的问题.repl 工时 with 实际产量\/[(标准产量\/标准人数)*实际人数] all 应是:repl 工时 with 实际产量\/((标准产量\/标准人数)*实际人数) all 因为VFP程序编写的格式中,方括号 其实是字...

请问vfp域控件想计算考试课总分为什么显示的不是数字是文字哪一步错了...
传输系统中被传错的概率是:(B ) A、纠错率 B、误码率 C、最小传输率 D、最大传输率 26、在网络中,将语音与计算机产生的数字

在下面的VFP表达式中,不正确的是( )
回答你的问题 在上面的VFP表达式中,不正确的是 ( C )解释:日期型数据的运算 "+" 日期与数字相加,表示天数相加,计算结果为新的日期 "- " 日期与数字相减,表示天数相减,计算结果为新的日期 在VFP表达式中,日期与日期可以相减,表示天数相减,计算结果为相差的天数 但日期与日期是不可以用”+...

vfp数值运算过大
首先,你的命令出错了,jdj=jjed\/sjus才对,你写成d了,第二,不能并列,分开按下面的做就行了 jjed=10.32 sjus=3 jdj=jjed\/sjus ?jdj 最后一行是测试结果用的,可以去掉

VFP为什么显示函数参数的值类型或数目无效
问题主要是文本框“thisform.text2.value” 数据类型不是字符型。在表单的“thisform.text2.value”文本框点鼠标右键,选择“生成器(B)”, 把 “1.格式” 中“ 数据类型(D)”设置为“字符” 或者把“thisform.text2.value”文本框属性中 “Format”、“InputMask”的值设置为 “XXXXXXXX",X...

为什么这个vfp程序中鞥把圆周率计算到3.14 我想计算到后面N多位 应该...
用pi( ) 函数 返回值的小数点位置由 SET DECIMALS 命令决定。

VFP编程序的运行的时候出现数据上溢,数据已丢失怎么回事啊?
你检查下 月折旧额 这个字段是什么数据类型 出现这个错误是因为 计算的值 超出 最大值, 放不下了!帮助文件说明:

关于VFP中,计算mod函数的问题
楼主有一点要记住,mod()函数的结果的符号肯定是与第2个参数一样的,如MOD(-10,3),答案的符号就为正,因此就应该商-4,余2,因此结果就为2。又比如mod(10,-3),则就应该是商-4,余-2,结果就为-2。还有mod(-10,-3),商-3,结果为-1 ...

vfp中求结果Year(date())-{1980-03-16}
年龄 = "year(date()) - YEAR(出生日期)"“出生日期”字段应为日期型的!

相似回答
大家正在搜