以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【整数】*【整数】=【长整数】,可结果出错了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50650)

--  作者:saumm
--  发布时间:2014/5/10 16:38:00
--  【整数】*【整数】=【长整数】,可结果出错了
刚下载了foxtable最新版,正在跟着帮助文件一点点学习。
今天插入了一个表达式列“金额”,类型为长整数,内容为[数量]*[单价],这两个列都是整数。

数量20000,单价100000都能正确的计算出金额。
但是当数量或单价再增加一位的时候,如数量变为200000,结果就会出错,提示“值对于类型“Int32”而言或者太大或者太小。”,但200亿也没有超出长整数的范围。
因为每个列里的数据都是符合要求的,根据提示来看,好像是超出了整数的范围,但表达式列我定义的明明是长整数类型的,不知道为什么会出错?应该怎样写才不会出错?

[此贴子已经被作者于2014-5-10 16:40:27编辑过]

--  作者:Bin
--  发布时间:2014/5/10 16:39:00
--  
用双精度小数,或者高精度小数. 
--  作者:saumm
--  发布时间:2014/5/10 16:41:00
--  
哇,这么快
--  作者:saumm
--  发布时间:2014/5/10 16:42:00
--  
改成单精度小数,果然没有错误提示了,真是奇怪啊,是不是因为[整数]*[整数]只能等于[整数],表达式列设置为【长整数】也没用
[此贴子已经被作者于2014-5-10 16:43:51编辑过]

--  作者:LAOTANG1984
--  发布时间:2014/5/10 17:20:00
--  
明显超了啊
20万×10万是200亿了
超过长整数类型的上限了