如何将数字近似到小数位数?

nbr*_*bro 3 math maxima

maxima几周前,我才开始使用wxMaximaOS X 的界面(实际上,我已经使用了几次)。

我已经尝试在网上找到解决方案,但是可能是因为我是盲人,或者可能是因为我在maxima的官方文档中搜索的经验不足,所以还没有找到具体的解决方案。

如何将数字近似到n小数位数?例如,如果使用float(22/7),它将为我提供这个巨大的数字3.142857142857143,但是我仅想例如将其近似到小数点后三位3.143

Rob*_*ier 5

fpprec控制Maxima bigfloat中有效数字的实际数量。这仅适用于bigfloat,不适用于普通(固定精度,IEEE 754)浮动。

另请参见fpprintprec哪个控制打印多少个数字,这适用于bigfloat和类似的普通float。因此,另一个适合您的解决方案是:

(%i1) fpprintprec : 4 $
(%i2) float (22/7);
(%o2)                                3.143
Run Code Online (Sandbox Code Playgroud)


nbr*_*bro 2

我还没有找到一种使用 来近似数字的方法float,但我找到了一种使用 来近似数字的方法bfloat

来自官方文档

bfloat(表达式)

将所有数字和数字函数转换expr为 bigfloat 数字。生成的bigfloats中的有效位数 由全局变量指定fpprec

因此,我可以通过使用这样的东西或多或少地实现我想要的:

bfloat(%e), fpprec:4;
Run Code Online (Sandbox Code Playgroud)

输出是:

2.718b0
Run Code Online (Sandbox Code Playgroud)

如果有人知道如何使用该float功能,请发布。