我正在用 Perl 编写一个需要长数据类型而不是整数的应用程序。我怎样才能做到这一点。例如;
my $num = sprintf('%ld', 27823221234);
print $num;
输出的不是长整数,而是整数。
最佳答案
您的选择是:
- 使用为 64 位编译的 perl
- 使用Math::Int64
- 使用Math::BigInt
更新: 啊,你也可以用 float 代替整数:
printf("%.0f", 2**50)
IIRC,在大多数当前架构上, float 可以精确地表示高达 2**54-1 的整数。
关于Perl 长数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784491/