myfreemind 发表于 2003-4-9 21:40:00

如何把168.235642度分解成度,分,秒?我没有办法判别小数点?请教!非常感谢!!

leeyeafu 发表于 2003-4-10 08:10:00

办法是

使用Utility工具AngleToString方法可以实现转换:
Document.Utility.AngleToString(Angle,AngUnit,Precision)
其中,Angle参数为你输入的168.235642(Double类型)。
      AngUnit是一个枚举类型,其取值及其意义为:
         acDegrees               度
         acDegreeMinuteSeconds   度分秒
         acGrads               梯度
         acRadians               弧度
      Precision为0到8之间的整数,表示返回值精度。
该函数返回转换后的字符串。
另外,在另一个帖子中,你提到要获得小数点后三位数字,乘1000取整除1000是个很好的方法,当然,也可以用VB的FormatNumber函数,详细使用可参考MSDN帮助。

myfreemind 发表于 2003-4-10 12:15:00

非常感谢!但formatnumber好象在VBA中没有办法用!

我在VB程序中一直就是用formatnumber来分解字符的,但在VBA中居然没有办法用,我就感觉非常的奇怪,难道是要引用什么吗?

leeyeafu 发表于 2003-4-10 13:01:00

这可能与VBA版本有关

你试试这样使用Format()函数:
Format(expression,"#.000")
实际上,ACAD2002的VBA好象是能用FormatNumber()函数的。以上函数我仅在OFFICE 97的VBA中使用过,可能你的ACAD VBA版本是与OFFICE 97 VBA一致。

myfreemind 发表于 2003-4-10 23:56:00

非常感谢,我用的是CAD2000,我想也有可能和版本有关!

页: [1]
查看完整版本: 如何把168.235642度分解成度,分,秒?我没有办法判别小数点?请教!非常感谢!!