Foxtable(狐表)用户栏目专家坐堂 → Format定义的两位小数值 对应的字段属性类型应该选择什么类型呢?


  共有3316人关注过本帖树形打印复制链接

主题:Format定义的两位小数值 对应的字段属性类型应该选择什么类型呢?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
Format定义的两位小数值 对应的字段属性类型应该选择什么类型呢?  发帖心情 Post By:2023/7/25 14:49:00 [只看该作者]

dr("A总分")=Format((((dr("A好")*1)+(dr("A较好")*0.8)+(dr("A一般")*0.6)+(dr("A弃权")*0.3))/dr("A有效"))*100,"00.00")
dr("B总分")=Format((((dr("B好")*1)+(dr("B较好")*0.8)+(dr("B一般")*0.6)+(dr("B弃权")*0.3))/dr("B有效"))*100,"00.00")
dr("总分")= Format((dr("A总分")+dr("B总分"))/2,"00.00")
Format定义的两位小数值 对应的字段属性类型应该选择什么类型呢?
sql数据库中是float 总提示小数位数大于精度数……怎么解决呢?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/25 14:51:00 [只看该作者]

高精度。找个外部表,添加一个高精度列,然后到数据库里看看就知道数据库里是什么类型了

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)高精度。找个外部表,添加一个高精度...  发帖心情 Post By:2023/7/25 15:05:00 [只看该作者]

老师  按照提示:

在狐表中设定高精度类型后   在sql中对应的数据类型是numeric(28, 4)

dr("A总分")=Format((((dr("A好")*1)+(dr("A较好")*0.8)+(dr("A一般")*0.6)+(dr("A弃权")*0.3))/dr("A有效"))*100,"00.00")
dr("B总分")=Format((((dr("B好")*1)+(dr("B较好")*0.8)+(dr("B一般")*0.6)+(dr("B弃权")*0.3))/dr("B有效"))*100,"00.00")
        dr("总分")= Format((dr("A总分")+dr("B总分"))/2,"00.00")
运行提示错误
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.ArgumentException: 输入字符串的格式不正确。不能在 A总分 列中存储 <NaN>。所需类型是 Decimal。 ---> System.FormatException: 输入字符串的格式不正确。

有没有办法解决A总分 B总分 总分 三个字段都是保留两位小数呢  比如98.99

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/25 15:18:00 [只看该作者]

这个提示应该是出现了除以0的操作,先判断一下除数,不等于0再除

 回到顶部