找回密码
 论坛注册
搜索
查看: 1264|回复: 1

16进制转10进制

[复制链接]
18 紫币 回复本帖可获得 2 紫币奖励! 每人限 1 次(中奖概率 60%)
  • 打卡等级:热心大叔
  • 打卡总天数:108
  • 打卡月天数:0
  • 打卡总奖励:1823
  • 最近打卡:2025-04-30 13:05:45

266

主题

30

回帖

5万

积分

管理员

积分
57595

最佳新人活跃达人技术达人先锋会员官方徽章

发表于 2024-7-19 10:49:57 | 显示全部楼层 |阅读模式
20231027之后的版本软件自带进制转换函数,支持2-16之前进制任意转换。
  1. StrBaseConvert(String Str, Int OldBase, Int NewBase) As String
  2. 说明:字符串进制转换。
  3. 参数:
  4.    Str: 要转换的字符串。
  5.    OldBase: 原进制,不小于2
  6.    NewBase: 新的进制,不小于2
  7. 返回值:
  8.    String , 转换后字符串。
复制代码

对于之前旧的版本,可以通过自定义函数实现转换,脚本如下:

  1. INT S=0,ZH=0,LH=0,SH=0,NSUM=0,i;
  2. string buff=StrUpper(Str);
  3. string LL;
  4. S=StrLen(buff);
  5. SH=S;
  6. FOR I=0 TO S
  7.         SH=SH-1;
  8.         LL=StrMid(buff,I,1);
  9.         IF LL=="A"||LL=="B"||LL=="C"||LL=="D"||LL=="E"||LL=="F" THEN
  10.             IF LL=="A" THEN
  11.                     ZH=10;
  12.                 endif
  13.                 IF LL=="B" THEN
  14.                     ZH=11;
  15.                 endif
  16.                 IF LL=="C" THEN
  17.                     ZH=12;
  18.                 endif
  19.                 IF LL=="D" THEN
  20.                     ZH=13;
  21.                 endif
  22.                 IF LL=="E" THEN
  23.                     ZH=14;
  24.                 endif
  25.                 IF LL=="F" THEN
  26.                     ZH=15;
  27.                 endif
  28.     else
  29.             ZH=StrTOINT(LL);
  30.         endif
  31.         LH=ZH*pow(16,SH);
  32.         NSUM=NSUM+LH;
  33. NEXT
  34. return NSUM;
复制代码

形式参考:
20240719104746.png

  • 打卡等级:热心大叔
  • 打卡总天数:185
  • 打卡月天数:3
  • 打卡总奖励:3736
  • 最近打卡:2025-05-03 17:00:31

1

主题

21

回帖

5668

积分

高级会员

积分
5668
发表于 2024-7-31 14:30:56 | 显示全部楼层

回帖奖励 +2 紫币

新手,学习
回复

使用道具 举报


顶部qrcode底部
帅的人都用微信扫了!
快速回复 返回顶部 返回列表