| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 421 人关注过本帖
标题:如何从“购物清单”字段中统计每天购物共用了多少元
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:786
专家分:3
注 册:2018-1-4
结帖率:97.34%
收藏
 问题点数:20 回复次数:32 
如何从“购物清单”字段中统计每天购物共用了多少元
现有表文件gem xx.dbf,如何从“购物清单”字段中统计每天购物共用了多少元,并写入统计字段中。请高手赐教,万分感谢!!!

gwmxz.rar (22.31 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 多少 写入 字段 购物 统计 
前天 18:57
kangss
Rank: 8Rank: 8
等 级:贵宾
威 望:14
帖 子:358
专家分:858
注 册:2014-6-12
收藏
得分:0 
思路:
1、先找“元”出现的次数
2、根据“元”,往左循环截取 1 字符,不是数字,就停止,此时应该能取出金额数字

前天 19:20
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1009
专家分:1535
注 册:2021-10-13
收藏
得分:0 
你这表格设计的比小学生好一点

这样设计表格是灾难性的,一旦用户输入错误的数字,根本无法查找出错原因~

[此贴子已经被作者于2025-10-16 08:27编辑过]

前天 19:55
王咸美
Rank: 1
等 级:新手上路
帖 子:786
专家分:3
注 册:2018-1-4
收藏
得分:0 
更正:从“购物明细”字段中统计每天购物用了多少元,并写入“合计”字段中
前天 20:06
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:371
专家分:887
注 册:2021-1-9
收藏
得分:0 
正则
前天 20:32
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:371
专家分:887
注 册:2021-1-9
收藏
得分:0 
Clear
?RegExpTest("([.0-9_-])+(元)","黄鳝40元牛肉61元鸡蛋11元冷菜75元蔬菜53元肉10.30元")
      
Function RegExpTest(patrn, strng)
regEx = CreateObject("VBScript.RegExp")   &&建立正则表达式对象
regEx.Pattern = patrn                      &&设置模式
regEx.IgnoreCase = .T.                     &&设置是否区分字符大小写
regEx.Global = .T.                         &&设置全局可用性
Matches = regEx.Execute(strng)            &&执行搜索
RetStr=0
For Each Match in Matches               &&遍历匹配集合
  RetStr=RetStr+VAL(Match.Value)
Next
Return RetStr

[此贴子已经被作者于2025-10-15 20:46编辑过]

前天 20:42
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:371
专家分:887
注 册:2021-1-9
收藏
得分:0 
CLOSE DATABASES ALL
SELECT 0
USE gwmxz
REPLACE ALL 合计 WITH RegExpTest("([.0-9_-])+(元)",购物明细)
      
Function RegExpTest(patrn, strng)
regEx = CreateObject("VBScript.RegExp")   &&建立正则表达式对象
regEx.Pattern = patrn                      &&设置模式
regEx.IgnoreCase = .T.                     &&设置是否区分字符大小写
regEx.Global = .T.                         &&设置全局可用性
Matches = regEx.Execute(strng)            &&执行搜索
RetStr=0
For Each Match in Matches               &&遍历匹配集合
  RetStr=RetStr+VAL(Match.Value)
Next
Return RetStr
前天 20:50
王咸美
Rank: 1
等 级:新手上路
帖 子:786
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!
前天 22:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10772
专家分:43344
注 册:2014-5-20
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
DECLARE long sscanf IN msvcr71 long, string, single@, long@
DECLARE long strcpy IN msvcr71 string@, string
购物明细 = "黄鳝40元牛肉61元鸡蛋11元冷菜75元蔬菜53元肉10.30元"
buffer = REPLICATE(0h00,256)
p = strcpy(@buffer, 购物明细)
a = 0.00
n = 0
t = 0
DO WHILE SYS(2600,p,1) != 0h00
    IF sscanf(p,"%f%n",@a,@n) == 1
        ? a
        t = t+a
        p = p+n
    ELSE
        p = p+1
    ENDIF
ENDDO
? t
昨天 00:17
王咸美
Rank: 1
等 级:新手上路
帖 子:786
专家分:3
注 册:2018-1-4
收藏
得分:0 
@吹水佬 谢谢!如何将gwmxz.dbf中“购物明细”统计结果写入“合计”字段中,还请加以指导!谢谢!

[此贴子已经被作者于2025-10-16 00:58编辑过]

昨天 00:55
快速回复:如何从“购物清单”字段中统计每天购物共用了多少元
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015840 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved