本帖最后由 作者 于 2007-9-10 22:58:25 编辑
较大的数的转换 _1_$ (atof "12453678.467537") 1.24537e+007 答复:(rtos (atof "12453678.467537") 2 6) = "12453678.467537" 中间的数的转换 _1_$ (atof "499252.10389") 499252.0 答复:(rtos (atof "499252.10389") 2 6) = "499252.103890" 不用中间变量的转换 直接将较大的数赋值给参数a _1_$ (setq a 499252.12345) 499252.0 答复:(rtos (setq a 499252.12345) 2 6) = "499252.123450" _1_$
直接将较小的数赋值给参数a _$ (setq a 2.12345455) 2.12345 答复:(rtos (setq a 2.12345455) 2 8) = "2.12345455" 再来: (setq a 49925200000.12345) _$ 4.99252e+010 (rtos(setq a 49925200000.12345)2 8) = "49925200000.12345" 可见 a 的精度并没有丢失,只是cad在显示的时候仅仅显示为 499252.0 2.12345 4.99252e+010 还是那句话,cad的显示蒙蔽了你的双眼,数据的精度没有丢失 但是转化为字符,截去小数点后位数,那才是真正的丢失精度
|