O Perl não tem uma função built-in projetado especificamente para arredondar números de ponto flutuante para inteiros , mas você pode escrever sua própria função que incorpora a função sprintf para arredondar esses números para o inteiro mais próximo. A função sprintf recebe dois argumentos, um formato e uma lista. A lista é simplesmente o número que você deseja arredondar para cima ou para baixo. Use "% .0 f ", como o formato , que conta a função que o número é de ponto flutuante e que pretende arredondar a zero dígitos depois do ponto decimal. Instruções
1
Abra um arquivo de programa Perl. Digite o seguinte código:
sub intCheck {
my $ num = shift;
voltar ( $ num = ~ m /^ \\ d + $ /);
}
isso cria uma função chamada " intCheck ", que chega pela primeira vez um argumento passado para ele e salva em uma variável chamada " $ num " retorna "true" se esse número é um número inteiro ou "falso" se não for
2
Digite o seguinte código: .
sub rodada {
my $ var = shift;
if ( intCheck ( $ var - 0.5 )) { $ var = $ var + 0,1; }
sprintf retorno ("% .0 f ", $ var );
}
Isso cria uma função chamada " rodada ". Ela recebe o argumento passado para ele e salva na variável " $ var " . Em seguida, ele chama a função intCheck e passa o número variável menos 0,5 . Se a função intCheck retorna "true ", o $ var tem 0,1 adicionado a ele. A função round então arredonda a variável para o número inteiro mais próximo e retorna
3
Digite o seguinte código: .
Rodada de impressão ( 4,49 ) . "\\ n" ;
rodada de impressão ( 4,51 ) . "\\ n" ;
rodada de impressão ( 4.5). "\\ n" ;
Estas linhas testar a função round. A primeira linha arredonda para baixo a quatro e as próximas duas linhas arredondar para cinco.
4
Salve o arquivo Perl.