防止Mathematica表达式的舍入

时间:2013-11-09 12:40:53

标签: math wolfram-mathematica wolframalpha

使用Mathematica时,会给出以下表达式:

In[429]:= 100*(1 - 0.002)^5*(1 - 0.005)*(1 - 0.006)*3.5
Out[430]= 342.7127137548418

我尝试使用N [],SetPrecision []等..并且根据website无法获得342.712713754841762864的实际值。

如何防止Mathematica舍入结果?

2 个答案:

答案 0 :(得分:0)

你可以,但不应该。

如果您希望结果具有更高的精确度,可以在所有十进制数字上输入123.456`digits of precision来设置它们的精度及其结果。这会将您的原始表达式转换为100*(1 - 0.002`25)^5*(1 - 0.005`25)*(1 - 0.006`25)*3.5`25之类的内容,从而得到342.7127137548417628640000的预期结果。但请注意,Mathematica主要用于显式有理数,例如1/200,以获得准确的结果。但是,超出精度,我没有看到浮点值固有的其他问题。

答案 1 :(得分:0)

Idk,无论您是否已经找到答案,但您只能FullForm表示。令我震惊的是,我很难准确地计算出4852.95 + 14000