| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1040 人关注过本帖, 1 人收藏
标题:VFP有没有10进制转16进制的函数?
取消只看楼主 加入收藏
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
结帖率:96.55%
收藏(1)
已结贴  问题点数:20 回复次数:7 
VFP有没有10进制转16进制的函数?
如题,虽然我自己写了这个函数,但我想问问系统里有没有?
搜索更多相关主题的帖子: 进制转 函数 系统 进制 VFP 
2023-01-24 02:24
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
我希望的函数就是这种:
?f(255)
&&结果FF,或者0xFF
2023-01-24 09:27
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
回复 7楼 sdta
同感,这是我不太喜欢用fll的原因,我更喜欢vfp写的类。
2023-01-24 20:00
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
回复 5楼 igaoyuan
谢谢
2023-01-24 20:08
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
回复 2楼 nbwww
这是我想要的!谢谢
2023-01-24 20:10
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
因为没有掌握transform函数用法,走了很多弯路,哈哈哈。。。
PARAMETERS nnum
creturn="0x"
cstr=""
DO WHILE .t.
    nhex=MOD(nnum,16)
    n=INT(nnum/16)
    IF nhex>9
        cstr=CHR(nhex+55)+cstr
    else   
        cstr=TRANSFORM(nhex)+cstr
    endif   
    IF n>=16
        nnum=n
        LOOP
    ELSE
        EXIT
    ENDIF
ENDDO
IF n#0
    IF n>9
        creturn=creturn+chr(n+55)+cstr
    ELSE
        creturn=creturn+TRANSFORM(n)+cstr   
    ENDIF   
else   
    creturn=creturn+cstr
ENDIF
   
RETURN creturn

谢谢各位
2023-01-24 20:23
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
回复 12楼 吹水佬
简洁明了!
2023-01-24 22:47
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:750
专家分:1114
注 册:2021-10-13
收藏
得分:0 
以下是引用sam_jiang在2023-1-24 22:47:15的发言:

简洁明了!

漏了一个num=0的情况。

PARAMETERS num
*num = 1234567890
creturn=""
ALINES(aHex,"0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F",",")
IF num=0 &&单独提出来运行是不是会快点?
    RETURN "0x0"
ENDIF
DO WHILE num >0
    creturn=aHex(num%16+1)+creturn
    *? aHex[num%16+1]
*!*    IF num=0 &&运行可能会慢点
*!*        EXIT
*!*    else   
        num = INT(num/16)
*!*    ENDIF   
ENDDO
RETURN "0x"+creturn

[此贴子已经被作者于2023-1-24 23:18编辑过]

2023-01-24 23:11
快速回复:VFP有没有10进制转16进制的函数?
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012258 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved