FAQ > 金融建模 > 建模问题 > 精度

Q:在设置了BackupSystemParameters2()之后,为何设置PN_Precision对结果无效?    

  • 在小锤子子中小数设置为不为4的数字时,执行如下

        oV:=BackupSystemParameters2();
        SetSysParam(PN_Precision(),4);
        return 1.234566;

    返回:1.23(笔者小锤子小数设置为2)
    发现结果总是与小锤子中的一致,不能按代码设置显示4位。其原因是:
    SetSysParam(PN_Precision(),4)是对return 时的结果进行小数精度的保留,而BackupSystemParameters2()中系统参数的恢复是在return前做的,所以在返回前总是被恢复到小锤子设置好的精度,而代码设置的总是无效。
    这个时候,我们应该调整代码顺序如下:

        SetSysParam(PN_Precision(),4);
        oV:=BackupSystemParameters2();
        return 1.234566;

    返回:1.2345