对这几个函数不明白。看了HELP也还是不明白。有好心人给我解释一下吗?

fuchong 2004-01-31 12:22:24
IF SUBS(ALLT(M_GPDM),1,1)<"4"
不明白是的subs()和allt().这里的字段m_gpdm是000100/给我详细点好吗?谢谢了!
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfwxj 2004-01-31
  • 打赏
  • 举报
回复
写这代码的人不知是怎么想的,subs(x,1,1)跟left(x,1)是一样的效果


楼主说的这句代码是判断M_GPDM字段的第一位(半角)是否小于4
caohongyi 2004-01-31
  • 打赏
  • 举报
回复
IF SUBS(ALLT(M_GPDM),1,1)<"4" && 一下处理后条件成立
m_gpdm =" 4000100/ " && m_gpdm前后都有空格
allt(m_gpdm) => "4000100/" && 去掉首尾空格
subs(m_gpdm,1,1) 取到的是“4” && 截取一位后的值


xuzuning 2004-01-31
  • 打赏
  • 举报
回复
IF SUBS(ALLT(M_GPDM),1,1)<"4"

SUBS === SUBSTR 取子串
ALLT === ALLTRIM 除去首位空格

m_gpdm = "000100/"
allt(m_gpdm) => "000100/"
subs取到的是“0”
xudaifei 2004-01-31
  • 打赏
  • 举报
回复
楼上兄弟说得极正确,支持。
allt() 是 alltrim()的缩写。
ljleager 2004-01-31
  • 打赏
  • 举报
回复
1、字段M_GPDM应是字符型,否则报错。
2、ALLT(M_GPDM)表示去掉M_GPDM当前值的首尾空格。
3、SUBS是字符截取函数,SUBS(字符串,[从左边]起始位置,截取位数)
4、SUBS(ALLT(M_GPDM),1,1)<"4" 是表示去掉M_GPDM字段的首尾空格后,从左边第一位起,截取1个字符,然后与字符"4"比较大小(此时比较的是ASC值)。如果要比较数值,则将要字符型转换成数值型。

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧