起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 153|回复: 7

【搞定】表达式计算字段结果类型和形式错误,如何解决?**

[复制链接]
发表于 2007-12-13 11:31:22 | 显示全部楼层 |阅读模式
错误状态1:从行的装置设计费[红色矩形框区域]字段类型均为长度为20的字符型:统计字段类型为字符型,工资*工时的结果是统计字段,小计也是.
工资*工时在表达式编辑器中的代码为: 项目管理SJ*项目管理工时费SJ
小计在表达式编辑器中的代码为:   项目管理小计SJ+工艺设计小计SJ +机械设计小计SJ +电器设计小计SJ +控制系统设计小计SJ +计算机绘图小计SJ +工厂调试小计SJ +用户现场开工调试小计SJ
结果见红色矩形框小计;但是我要的是一个数,出来的结果却是拼出来的而非一个结果,而应当是其真实计算结果558.0652.

错误状态2:从行的装置组装费[蓝色举行框区域]字段类型为长度为20的字符型,统计字段类型为数字长度为15,但是类型设置为整型和浮点是长度均被系统自动改成0而不能做任何运算.
工资*工时在表达式编辑器中的代码为: 工艺组装ZZ*工艺组装工时费ZZ
小计在表达式编辑器中的代码为:   工艺组装小计ZZ +电器组装小计ZZ +控制柜组装小计ZZ +工厂调试小计ZZ +用户现场开工调试小计ZZ
结果见蓝色矩形区域,但是其问题在于做了四舍五入;而我的运算中结果可能为小数.

请问我该如何改才能获得我我的结果;[前提不希望改数据库数据类型],X3里的统计字段的表达式编辑器加代码还是?如果加代码请告诉代码.
还是……请告诉解决办法谢谢.

errorreport.jpg

63.75 KB, 下载次数: 119

回复

使用道具 举报

发表于 2007-12-13 11:39:08 | 显示全部楼层
公式编辑器用:
cast( 金额 as int) +123
转换数据类型
楼主试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-13 11:45:56 | 显示全部楼层
请问你所指的是红色区域的字段还是蓝色区域的字段,谢谢
回复 支持 反对

使用道具 举报

发表于 2007-12-13 11:49:12 | 显示全部楼层
错误1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-13 12:54:38 | 显示全部楼层
当类型为int时代码和结果如下
cast(项目管理小计SJ as int)+cast(工艺设计小计SJ as int)+cast(机械设计小计SJ as int)+cast(电器设计小计SJ as int)+cast(控制系统设计小计SJ as int)+cast(计算机绘图小计SJ as int)+cast(工厂调试小计SJ as int)+cast(用户现场开工调试小计SJ as int)=548

当类型为float时代码和结果如下
cast(项目管理小计SJ as float)+cast(工艺设计小计SJ as float)+cast(机械设计小计SJ as float)+cast(电器设计小计SJ as float)+cast(控制系统设计小计SJ as float)+cast(计算机绘图小计SJ as float)+cast(工厂调试小计SJ as float)+cast(用户现场开工调试小计SJ as float)=547.5652

为把类型设置为double时功能运行填数字时就报错;不允许使用
可是都不是真实的正确答案:558.0625
怎么解决?该怎么改?
回复 支持 反对

使用道具 举报

发表于 2007-12-13 13:13:57 | 显示全部楼层
应该不是这种样子。8个参数不会丢精度>8
楼主这个都大于10了。
您再仔细检查一下。如果要求精度很严格,推荐楼主在数据库层面就设成float的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-13 13:43:18 | 显示全部楼层
谢谢提醒,我确实刚才漏了字段.这个部分问题解决了;这个问题暂时结束;
请问你所用的
公式编辑器用:
cast( 金额 as int) +123
转换数据类型
是否是在表达式编辑器中通用的更改数据类型的语句;我还有些地方需要把值的类型更改.谢谢
回复 支持 反对

使用道具 举报

发表于 2007-12-13 16:39:19 | 显示全部楼层
是通用的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-2 08:12 , Processed in 0.044844 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表