smans 发表于 2013-8-21 10:41:07

实值从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 *****

owenwengerd 发表于 2013-8-21 14:35:35

你错了。问题在于您检查返回值的方式,而不是值本身。

smans 发表于 2013-8-22 06:06:31

结果表明,命令行只是显示了一个近似值,但从C++到Lisp,该值本身保持不变<谢谢你,斯曼
页: [1]
查看完整版本: 实值从C++到Lisp的变化