yw19841107 发表于 2011-8-27 21:36:19

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用的真多,擦)

yw19841107 发表于 2011-8-27 21:37:35

累了,自己先沙发上歇会儿

imath 发表于 2011-8-27 22:31:28

34500呢?

yw19841107 发表于 2011-8-27 22:41:47

本帖最后由 yw19841107 于 2011-8-27 22:47 编辑

一样的,LS你可以自己试下,已经实现了,34500就是K34+500,哪怕你是126000,都能实现成K126+000,用里程的方式来表示长度的话,一般公里数3位数就够了,如果嫌不够的话,可以自行添加判别语句就行了~~~

imath 发表于 2011-8-28 09:46:04

不是说转化字符串吗?
怎么没看到str的影子。

月与映之皮丘 发表于 2011-8-28 09:53:11

这不算是转换成字符串的方法吧……字符串是用双引号括起来的在STR级(字符串级)变量的字符。这只是在屏幕上显示。

imath 发表于 2011-8-28 13:07:00

什么是STR级(字符串级)?

月与映之皮丘 发表于 2011-8-28 20:51:07

所谓的STR1,STR2,etc.

imath 发表于 2011-8-28 21:22:56

就是字符串嘛

chuxianbing 发表于 2011-8-29 05:45:25

""->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]
查看完整版本: 9860GII-SD使变量值转换成字符串的近似方法