Não consigo arredondar o salário usando o Math.round
Por que?
import java.util.Scanner;
import java.lang.Math;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Digite seu salário atual: ");
Double Salario = input.nextDouble();
Double NovoSalario = Salario * 1.15 ;
NovoSalario = Math.round (NovoSalario);
System.out.println("Seu novo salário será"+ NovoSalario);
}
}
[ERRO]: incompatible types: long cannot be converted to Double
o NovoSalario já foi criado como double, por que quando tento truncar ele diz isso?
Você não declarou o NovoSalario
como double
, você declarou como Double
.
-
double
, com letra minúscula, é um tipo primitivo de de 64 bits
- Já o
Double
, com letra maiúscula, é uma classe que encapsula um valor do tipo double
e fornece alguns métodos para conversões.
Você não está tentando truncar, você está tentando arredondar.
Truncar significa descartar toda a parte decimal, por exemplo 1.8
truncado fica 1
e arredondado fica 2
.
O método Math.round
retorna um valor do tipo long
e você não pode atribuir um long
para uma variável que foi declarada como Double
.
Se mudar suas variáveis de Double
para double
, vai funcionar.
Dica: Procure seguir as convenções de código, nomes de variáveis deveriam ser em letra minúscula seguindo o formato camelCase.
2 curtidas