如何设置 Perl 的 bignum 的精度级别?

How can I set the level of precision for Perl's bignum?

我正在尝试在 Perl 中使用 bignum 模块并希望设置精度。我知道这可以通过模块的 CPAN 页面上详述的单行来完成:

1
$ perl -Mbignum=p,-50 -le 'print sqrt(20)'

...这将打印出 20 到 50 位精度的平方根,但我想知道是否有任何方法可以在脚本中设置精度,例如:

1
2
3
4
5
#!/usr/bin/perl
use bignum;

setPrecision(-50);
print sqrt(20);

到目前为止,我已经在这里、Google 和 PerlMonks 进行了搜索,但没有任何运气。提前致谢。


Per Anon.\\的建议:

1
2
3
4
5
6
7
8
#!/usr/bin/perl

use strict;
use warnings;

use bignum ( p => -50 );

print sqrt(20);

您可能想查看 bignum 使用的 Math::BigFloat 和 Math::BigInt 的文档。