在Perl中使用非常大的数字时如何禁用科学记数法?

11 formatting perl integer numeric biginteger

考虑以下:

print 3 ** 333; #Yields 7.6098802313206e+158
Run Code Online (Sandbox Code Playgroud)

我的问题很简单:在处理非常大的数字时,如何禁用科学记数法?基本上,我希望看到所有数字stdout逐字逐句转储.

这可能吗?

mob*_*mob 15

看到 Math::BigInt

use Math::BigInt;
$x = Math::BigInt->new("3");
print $x ** 333;
Run Code Online (Sandbox Code Playgroud)

输出:

760988023132059809720425867265032780727896356372077865117010037035791631439306199613044145649378522557935351570949952010001833769302566531786879537190794573523
Run Code Online (Sandbox Code Playgroud)


bri*_*foy 6

如果要对程序中的所有整数执行此操作,只需添加:

use bigint;
Run Code Online (Sandbox Code Playgroud)

如果您只想对某些整数执行此操作,则可以创建Math :: BigInt对象.

如果你正在使用花车,还有bignumMath :: BigNum.