Asia fox:VisualFoxPro94位数字

关于Asia fox的问题,在fox 4 digit code中经常遇到, 我正在寻找一个问题的 commant。

我正在寻找一个问题的 commant。

我有一个 4 位数,如 3521,问题是我需要找到数字,其中前两位数字更大,然后是最后两位。

1

假设你的号码是 lnMyNumber:

lnMyNumber = 3521
? (Val(Left(Str(lnMyNumber, 4, 0),2)) > Val(right(Str(lnMyNumber, 4, 0),2)))
0

命令窗口示例:

LOCAL unknownType
unknownType = 3521
? CompareSumsOfTwoBytePairs(unknownType) && returns true
unknownType = "3521"
? CompareSumsOfTwoBytePairs(unknownType) && returns true
unknownType = "YZAB"
? CompareSumsOfTwoBytePairs(unknownType) && returns true
unknownType = 35210
? CompareSumsOfTwoBytePairs(unknownType) && too long, returns false
* The following unexpected types return all false:
unknownType = .F.
? CompareSumsOfTwoBytePairs(unknownType)
unknownType = .Null.
? CompareSumsOfTwoBytePairs(unknownType)
unknownType = CREATEOBJECT("Form")
? CompareSumsOfTwoBytePairs(unknownType)
unknownType = DATE(2015, 2, 7)
? CompareSumsOfTwoBytePairs(unknownType)
FUNCTION CompareSumsOfTwoBytePairs(u)
    LOCAL c
    c = TRANSFORM(u)
    RETURN LEN(c) == 4 AND (SUBSTR(c, 1, 2) > SUBSTR(c, 3, 2))
ENDFUNC
0

另一种选择是将数字保留为数字 vs 强制字符串转换。

n = 3521
? INT( n/100 ) > n-(INT(n/100)*100)
n/100 = 35.21... the int leaves just 35

而这同样的依据是在另一半...

n-(INT(n/100)*100)
3521 - ( INT( 3521/100) * 100 )
= 3521 - (  35 * 100 )
= 3521 - 3500 = 21
so 35 > 21
0

这是一个完整的代码比你可以把一个函数

    local lnVal, llReturn
    lnVal=35821
    llReturn=left(trans(lnVal),2)>right(trans(lnVal),2)
    return llReturn

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(742)
Eip服务器:EIP:AddressLimitExceeded
上一篇
Php数据库创建表:数据库php脚本 将数据插入表中(php insert)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(78条)