Perl 为什么我的BigInt数字会有一个小数点?

Perl 为什么我的BigInt数字会有一个小数点?,perl,string,bigint,Perl,String,Bigint,在Perl中添加15位数字,如99999999999 0,将生成带句点的结果 例如1.9999999999999e+。当使用substr时,它仍然生成1.9999999999,当使用BigInt时,结果仍然有一个周期。Perl 5.8.7的正确Perl语法是什么,以获得不带句点的结果 use BigInt; $acct_hash = substr(($acct_hash + $data[1]),0,15); BigInt.pm -> /opt/perl5.8.7/lib/5.8.7/Ma

在Perl中添加15位数字,如
99999999999 0
,将生成带句点的结果 例如
1.9999999999999e+。
当使用
substr
时,它仍然生成
1.9999999999
,当使用
BigInt
时,结果仍然有一个周期。Perl 5.8.7的正确Perl语法是什么,以获得不带句点的结果

use BigInt;
$acct_hash = substr(($acct_hash + $data[1]),0,15);

BigInt.pm -> /opt/perl5.8.7/lib/5.8.7/Math/BigInt.pm
BigInt -> /opt/perl5.8.7/lib/5.8.7/Math/BigInt.pm
使用可透明地使用:

使用可透明地使用:


您好,以下是错误:变量“$acct_hash”未在s.pl第416行导入。变量“$acct_hash”未在s.pl第416行导入。变量“@data”未在s.pl行416处导入。全局符号“$acct_hash”要求在s.pl第416行显示包名。全局符号“$acct_hash”要求在s.pl第416行显示包名。全局符号“@data”要求在s.pl第416行显示包名。错误后开始不安全--编译在s.pl行417处中止。谢谢你,这是严格的格言,告诉你正在做坏事。您可以删除严格的pragma以让脚本运行,但错误仍将存在于代码中。在我的函数中使用变量之前,你们应该先声明变量:你们一直在问这个问题,我不知道怎么回答你们,因为我不知道为什么substr在这里是相关的。数组的$data[1]变量?使用BigInt;sub-extract\u bank\u detail{$errrec=0;$extract=0;my$acct\u hash=0;my$data=0;###不起作用。$vol\u hash=0;while(@data=$bill\u rec->fetchrow\u array())我就快到了,谢谢!嗨,西南,我必须显示不超过15位。嗨,这些是错误:变量“$acct\u hash”没有导入到s.pl行416。变量在s.pl行416处未导入“$acct_hash”。在s.pl行416处未导入变量“@data”。全局符号“$acct_hash”在s.pl行416处需要显式的包名。全局符号“$acct_hash”在s.pl行416处需要显式的包名。全局符号“@data”"在s.pl行416处需要显式的包名。在出现错误后开始不安全--编译在s.pl行417处中止。谢谢,这是表明您正在做坏事的严格pragma。您可以删除严格pragma以让脚本运行,但错误仍将存在于代码中。您应该在将变量与一起使用之前声明变量my函数:你一直在问这个问题,我不知道怎么回答你,因为我不知道为什么substr在这里是相关的。我如何初始化数组的$data[1]变量?使用BigInt;sub extract_bank_detail{$errrec=0;$extract=0;my$acct_hash=0;my$data=0;#不工作。$volu hash=0;而(@data=$bill_rec->fetchrow_array())我就快到了,谢谢!嗨,西南,我要显示的数字不超过15位。
#!/usr/bin/perl

use strict;
use warnings;


print 999999999999990 + 999999999999990, "\n";

use bigint;

print 999999999999990 + 999999999999990, "\n";