Arredondando Número - AJUDA

19 respostas
DavidUser

é simples estou tentando fazer uma comparação entre strings assim:

String x="a",y="a"; if (a==b){ ... }
mais não funciona sei la pq!

19 Respostas

O

Coincidentemente seu código é um exemplo onde a comparção com “==” funciona, mas no demais use:x.equals(y);

DavidUser

não. consegui usando

if ((metade1.CASE_INSENSITIVE_ORDER)==(metade2.CASE_INSENSITIVE_ORDER)){ System.out.println(metade1+"\n"+metade2+"\n"+numero); }

DavidUser

Preciso de ajuda como eu arredondo um número para maior com um comando único

O

DavidUser:
não. consegui usando

if ((metade1.CASE_INSENSITIVE_ORDER)==(metade2.CASE_INSENSITIVE_ORDER)){ System.out.println(metade1+"\n"+metade2+"\n"+numero); }


Só rindo.

D

se for retornar um inteiro, usa o Math.ceil(x)

DavidUser

quero q quando o valor for um decimal ele pege a parte inteira e some 1

DavidUser

como vou verificar se ele é decimal?

D

Math.ceil(1.15) retorna 2, por exemplo.

DavidUser

boa então ele arredonda sempre pra mais!
Vlw

DavidUser

cara ele não ta arredondando assim

D

Aqui deu certinho, saca soh:

public class Test {
	public static void main(String[] args) {
		
		double x = 1.15;
		System.out.println(Math.ceil(x));
		
	}
}

A saída foi: 2.0

DavidUser

no caso o x que estou usando é 2.5 e o resultado ta sendo 2

D

Aqui deu 3.0
aehuiaheiuhae
copie meu código e rode aí

DavidUser

pera agor afunciono

DavidUser
ajuda ae não sei q tem de errado:
numero="58185";
        
        /*for (int x=0;x<numero.length();x++){
            digito[x]=numero.charAt(x);
        }*/
       metade1=numero.substring(0,((int)numero.length()/2));
       met2=numero.substring(((int)(Math.ceil(numero.length()/2))),numero.length());
resultado: 58 581 58185 o certo era: 58 58 58185
fmad27

Math.ceil(2.5) - resulta 3
Math.floor(2.5) - resulta 2

DavidUser

não sei pq mais aki 5/2 tem como resultado 2 ao inves de 2.5

fmad27

metade1 = numero.substring(0,((int)numero.length()/2));
met2=numero.substring(((int)(Math.ceil(numero.length()/2))),numero.length());

Você está dividindo 5 que é inteiro por 2 o resultado será um inteiro 2, ele perde a precisão você deve converter o resultado do seu numero.lenth para float ou double para não perder a precisão.

DavidUser

problema resolvido:
foi so colocar (double) antes de numero.length()

Criado 19 de março de 2009
Ultima resposta 19 de mar. de 2009
Respostas 19
Participantes 4