以文本方式查看主题 - 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亿了 超过长整数类型的上限了 |