工控闯天涯
如图,将两个+号后的ASCII转成10进制 1.154和2.433
友情提示:打赏的积分将从您的工控网积分账号扣除
楼主最近还看过
yuanle
第一步:使用MID指令截取你需要转换的字符串。
第二步:使用STRING_TO_REAL指令将转换后的数据转换为REAL。
HAVE FUN!
关育谋
严谨一点的话,首先要判断特定字符,如果这个字符串中有这个特定字符的话,再进行判断再比如说,判断字符串中是否有RMA,如果有再进行截取,然后从截取的字符串第5个或者第4个(取决于+是特定字符还是正负号)字符开始进行转换。
初次使用FPWinPro指令不太熟,各位大神能否抽时间写个简单的例程
冲出枪林弹雨
(* 声明字符串 *)
str := 'abcd+1234.5678';
(* 从字符串中寻找 ‘+’的位置 *)
viPos := FIND(IN1 := str, IN2 :='+');
(* 从开始位置提取设定长度的strResult *)
strResult := MID(IN := str, L := viLen, P := viPos);
(* 将获取的strResult转换为浮点数 *)
rReselt := STRING_TO_REAL(strResult);
做了一个小例子,可以参考这个思路,将第一个和第二个+号后的数据取出来,做转换;
在实际用的过程中,还要判断每次收到数据的完整性和正确性,做个简单的校验;另外将获取的数据做上下限判断后再使用,防止异常数据造成程序出错
Smile-lyc
感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。
对于求助者要求:
1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;
2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。
3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。