实值从C++到Lisp的变化
大家好,我想使用acedRetReal()向Lisp返回一个ads_real(双精度)值,但结果该值要么被舍入,要么被截断。
代码如下:
intlisp_testReal(val)
{
ads_realn=4.59950316371;
acedRetReal(n);
返回0;
}
在AutoCAD中调用函数后,我得到的是:4.5995。类似的行为如果我将n设置为等于1237.992458,函数将返回1237.99。
有没有什么方法可以保持完全相同的数字,而无需任何修改?提前谢谢你。
我正在使用MS Visual Studio 2008为AutoCAD 2012 x64开发ObjectARX 2012。
请注意,
smann
**** Hidden Message ***** 你错了。问题在于您检查返回值的方式,而不是值本身。 结果表明,命令行只是显示了一个近似值,但从C++到Lisp,该值本身保持不变<谢谢你,斯曼
页:
[1]