9860GII-SD使变量值转换成字符串的近似方法
本帖最后由 yw19841107 于 2011-8-27 22:44 编辑9860GII-SD使变量值转换成字符串的近似方法:
研究了半天才搞出来,本人测绘专业,就说个测绘上的例子把
例子:现有长度3200(m),需要把它转换成里程表示方式K3+200(K代表公里,K3就是3公里的意思),那么语法如下(比较麻烦):
我们把3200存入变量“Z”中:
3200—>Z:
ClrText:
"":Locate 1,1,"k"
Int(z/1000)—>θ:
Z-Int(Z/1000)*1000—>r:
Locate 1,1,"K":
Locate 2,1,θ:
IF θ<10:then ‘当公里数为1位数的时候
Locate 3,1,"+":
fix 3
Locate 4,1,r:
IfEnd
IF θ<100 and θ>10 :then’当公里数为2位数的时候
Locate 4,1,"+":
fix 3
Locate 5,1,r:
IfEnd
IF θ<1000 and θ>100 :then’当公里数为3位数的时候
Locate 5,1,"+":
fix 3
Locate 6,1,r:
IfEnd
哎,比较麻烦,只能算近似方法,擦(Locate用的真多,擦)
累了,自己先沙发上歇会儿 34500呢? 本帖最后由 yw19841107 于 2011-8-27 22:47 编辑
一样的,LS你可以自己试下,已经实现了,34500就是K34+500,哪怕你是126000,都能实现成K126+000,用里程的方式来表示长度的话,一般公里数3位数就够了,如果嫌不够的话,可以自行添加判别语句就行了~~~ 不是说转化字符串吗?
怎么没看到str的影子。 这不算是转换成字符串的方法吧……字符串是用双引号括起来的在STR级(字符串级)变量的字符。这只是在屏幕上显示。 什么是STR级(字符串级)? 所谓的STR1,STR2,etc. 就是字符串嘛 ""->Str1:"0123456789"->Str2
X<0->P:Abs(X)->X
1->T:X>=1=>INT(Log X)+1->T
FOR T->T TO -3 Step -1
INT(10Frac(X/10^T))->U
Str1+StrMid(Str2,U+1,1)->Str1
T=1=>Str1+"."->Str1
NEXT
P=>"-"+Str1->Str1
页:
[1]