我正在尝试这段代码,但它以Nan的形式给出了一些答案。
我认为$decimal = ($decimal / $val2);
不正确,无法弄清楚此代码中有什么错误。
有没有其他方法来计算这个?
这是我的代码:
#!/usr/bin/perl
use strict;
use warnings;
sub Base {
my $val1;
my $val2;
$val1=$_[0];
$val2=$_[1];
my $ans;my $i;
my $decimal;
my $remainder;
$decimal=$val1;
$ans=0;
$i=1;
while($decimal > 0)
{
$remainder = $decimal % $val2;
$ans = $ans + ($remainder * $i);
$i = $i * 10;
$decimal = ($decimal / $val2);
}
print $ans;
}
# Function call
print "enter 1st no.\n ";
my $n1 = <STDIN>;
print "enter 2nd no.\n ";
my $n2 = <STDIN>;
Base($n1,$n2);
答案 0 :(得分:0)
$decimal = $decimal / $val2;
应该是
$decimal = int( $decimal / $val2 );
或
$decimal = ( $decimal - $remainder ) / $val2;