图片:
我恰好遇到过这个问题,给你一个方案,你试试。这段程序是一个FB,作用是把浮点数转换为科学记数法,把指数和底数分开用两个数据框显示。
Tp1:=Float_In;
Tp2:=Float_In;
IF Float_IN>=10.0 THEN
FOR number:=1 TO 20 BY 1 DO
Tp1:=Tp1/10.0;
IF ( Tp1>=1.0) & ( Tp1<=10.0)THEN
Exponent := Number;
Float_Out:= Tp1;
END_IF;
END_FOR;
ELSIF ((Float_In>=1.0)& (Float_In<10.0))THEN
Exponent := 0;
Float_Out:= Tp1;
ELSE
FOR number:=1 TO 20 BY 1 DO
Tp1:=Tp1*10.0;
IF ( Tp1>1.0) & ( Tp1<10.0)THEN
Exponent := 0-Number;
Float_Out:= Tp1;
END_IF;
END_FOR;
END_IF;
[ 此帖被sunzengli在2023-09-16 16:04重新编辑 ]