Почему я получаю десятичную точку в моих числах BigInt? - PullRequest
1 голос
/ 08 мая 2009

Добавление 15-значных чисел, таких как 999999999999990 в Perl, приводит к результатам с точкой например, 1.9999999999999e+. При использовании substr он по-прежнему выдает 1.99999999999, а при использовании BigInt результат все еще имеет период Каков правильный синтаксис Perl для Perl 5.8.7, чтобы получить результат без точки?

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

1 Ответ

5 голосов
/ 08 мая 2009

Используйте bigint pragma , чтобы получить прозрачное использование Math :: BigInt :

#!/usr/bin/perl

use strict;
use warnings;


print 999999999999990 + 999999999999990, "\n";

use bigint;

print 999999999999990 + 999999999999990, "\n";
...