0

ある整数範囲を反復処理して $_ 値を bigint として使用しようとすると、代わりに通常の数値のように動作します。したがって、次のコードは、表示 100000000000000000000 1e+20 されると予想されるときに出力されます100000000000000000000 100000000000000000000

use warnings;
use strict;
use bigint;

for my $b(10) {
    for my $c(20) {
        print $b**$c, "\n";
    }
}

for my $b(10..10) {
    for my $c(20..20) {
        print $b**$c, "\n";
    }
}

このコードを正しい方法で動作させるにはどうすればよいですか? 私はMath::BigIntについて知っていますが、それなしで解決策があるのだろうか.

4

1 に答える 1

0

正確な理由はわかりませんが、以下のリンクは正確な値を印刷するのに役立ちます。制御文字列の長さを取得し、値を出力します。

Perl - 指数値のない末尾のゼロを削除する

于 2013-03-12T10:07:20.153 に答える