以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表达式列如何对“字符型”数字运算?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68906)

--  作者:whyfoxtable
--  发布时间:2015/5/27 11:42:00
--  [求助]表达式列如何对“字符型”数字运算?
表A的十个列皆是字符型,现增加第十一列,双精度型的表达式列。

需求是:第十一列对前十列求和。

实际应用中,无数用convert([第一列],System.Double)这个表达式来实现目的。

现求助,如何做?



--  作者:大红袍
--  发布时间:2015/5/27 11:42:00
--  
convert([第一列],\'System.Double\')
--  作者:Bin
--  发布时间:2015/5/27 11:45:00
--  
isnull(convert([第一列],\'System.Double\'),0)+isNULL(convert([第二列],\'System.Double\'),0)  以此类推
--  作者:whyfoxtable
--  发布时间:2015/5/27 12:50:00
--  [求助][求助]这次加了加''。还是不行!再次求助。
谢谢楼上两位!没注意到要加\'\'.但加了还是不行,见下图.



图片点击可在新窗口打开查看此主题相关图片如下:表达式.bmp
图片点击可在新窗口打开查看


[此贴子已经被作者于2015/5/27 13:09:53编辑过]

--  作者:Bin
--  发布时间:2015/5/27 13:41:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=68912
--  作者:大红袍
--  发布时间:2015/5/27 14:12:00
--  

 如果提示错误,说明,你第一列的数据不能转成double类型,比如 汉字肯定是不能转的啊。

 

 再有,你第一列为什么不弄成数值列啊。


--  作者:whyfoxtable
--  发布时间:2015/5/27 14:26:00
--  [求助]试过,还是不行,我把文件附在附件上吧。

第一列不做成数值列的原因:这里“第一列”仅用来代表任意一列,此列内容是把另一个二维表格内容转化成一维内容,故会有字符和数字的混同。

汉字不能转化为双精度小数,这能理解。但即使我用1,2,3等字符填充第一列,仍不能用Convert([第一列],\'System.Double\')形式。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目tabtobase.rar


--  作者:大红袍
--  发布时间:2015/5/27 14:27:00
--  
 看6楼,不可能。你得一列必须全部都是可转换的,才不会报错。
--  作者:大红袍
--  发布时间:2015/5/27 14:29:00
--  

而且,必须加上单引号

 

convert(第一列,\'System.Double\')


--  作者:大红袍
--  发布时间:2015/5/27 14:31:00
--  
以下是引用whyfoxtable在2015/5/27 14:26:00的发言:

第一列不做成数值列的原因:这里“第一列”仅用来代表任意一列,此列内容是把另一个二维表格内容转化成一维内容,故会有字符和数字的混同。


 

如果有数值和字符,建议去编写Datacolchanged事件,不要用表达式列

 

http://www.foxtable.com/help/topics/1469.htm