以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  经验交流  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=5)
----  [求助]  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=5&id=6698)

--  作者:hnair
--  发布时间:2006-12-28 16:49:38
--  [求助]
那位高手帮忙看一下:ABCD四项合计没有问题,但C项有时是字母,如何判断为字母时为空,数字时参与计算,另外合计取值格式如何能设为如:100.00?
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


--  作者:admin
--  发布时间:2006-12-29 12:41:01
--  

实现肯定是可以的,不过实现起来有些复杂。

大致思路:
数字0——9的ASCII码值是48——57,小数点的ASCII码值为46,我们只要把C的每一位ASCII码值与48、57两个数字进行比较就可以了。如果C项的每位ASCII码值在这两个数字之间,就可以断定它是数字,否则,就可以认定它是字符。唯一例外的是判断小数点,这样就需要在小于48时,再判断是否等于46。

所需构件:
计数循环:通过循环将C项内容按位分解。
字符串设置:用于将每一位字符转换为ASCII码。
数值比较:用于数字大小的判断,大于、小于、还是介乎于之间。
比较判断(3个):用于判断是将三个数相加,还是四个数相加。

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


--  作者:admin
--  发布时间:2006-12-29 12:41:51
--  
至于合计值取格式,直接应用“数字编辑”构件。
--  作者:pc_doctor
--  发布时间:2006-12-29 14:31:15
--  

ADMIN的思路妙。


此主题相关图片如下:
按此在新窗口浏览图片

只是这样逐字逐字循环判别下去,数据库较大时,是很难忍受的。最好还是从数据库或结构上寻找一些门路吧!


--  作者:admin
--  发布时间:2006-12-29 16:04:45
--  
主楼的问题应该与数据库没有什么关系。嫌麻烦,再简明一点就是,只对第一位数进行判断,是字符就是字符,是数字就是数字。就是不严谨。碰到写成“12w3”就要出错了。