Estou com um probleminha na conversao de um campo Double para String o cenario é o seguinte tenho um valor (ex: 5000,00 ou - 5000,00)
Fiz essa linha “Variavel_1 = Double.parseDouble(”"+Variavel_1.replace("-",""));"
Porem ele da dois erros “Imcompatibilidade de tipo: impossivel converter double para string” e “o metodo replace(String,String) é indefinido para o tipo doble”
Alguem teria uma sugestao para sanar este problema???
Pq ao invés de fazer uma substituição e conversão na mesma linha vc não faz passo a passo.
:thumbup:
Rodrigo_Sasaki
o fato de você colocar um “” antes da variável não a converte em uma String.
Variavel_1 ainda é um double, você tem que criar uma String a partir dela antes de fazer esse processamento.
Obs: se você só quer transformar um -5000 em 5000, existe uma operação matemática pra isso.
O
Osama_Developer
Antes de tudo obrigado pela respostas…
Voce diz fazer passo a passo como? pode me citar um exemplo?
E quanto a operacao matematica qual funcao voce sugere?
Obrigado
Rodrigo_Sasaki
pra alterar o sinal de um número é só multiplicar por -1.
O
Osama_Developer
o problema de multiplicar por - 1 eh que o campo varia de negativo ou positivo entao nao resolveria o problema…
Rodrigo_Sasaki
Variavel_1 = Variavel_1 < 0 ? (Variavel_1 * -1) : Variavel_1; Só uma sugestão, coloque nomes que tenham algum significado nas suas variáveis, o código fica muito mais legível, e procure seguir as boas práticas que dizem pra usar o padrão camelCase no nome das variáveis.
Ruttmann
Pra transformar um negativo em positivo pode-se usar o Math.abs();
Ele retorna o valor absoluto de uma variável, se ela for positiva, vai retornar ela mesmo. Se for negativa, vai retornar o valor positivo.
Bem tranquilo!
William_Ricardo1 like
Para converter negativo em positivo, da pra usar o método estático abs da classe Mat.
Exemplo : (Math.abs(SEU_VALOR_NEGATIVO)).
Porém, seu título é : converter DOUBLE para STRING,
logo vc usa String.valueOf(SEU_DOUBLE_AQUI).
Assim, vc pode usar os métodos de uma String…
E
entanglement
Pergunta. Digamos que você tenha o valor -5000.00.
Você precisa converter para “-5.000,00” ou “(5.000,00)”? Pelo que imagino, você quer mexer com moedas, não?
O
Osama_Developer
William Ricardo:
Para converter negativo em positivo, da pra usar o método estático abs da classe Mat.
Exemplo : (Math.abs(SEU_VALOR_NEGATIVO)).
Porém, seu título é : converter DOUBLE para STRING,
logo vc usa String.valueOf(SEU_DOUBLE_AQUI).
Assim, vc pode usar os métodos de uma String…
nesse caso se nao for usar o math.abs, haveria outra forma de tratar o sinal “-” pq no double nao da pra usar o .replace("-","")
O
Osama_Developer
entanglement:
Pergunta. Digamos que você tenha o valor -5000.00.
Você precisa converter para “-5.000,00” ou “(5.000,00)”? Pelo que imagino, você quer mexer com moedas, não?
isso mesmo!
E
entanglement
Então é assim. Vou dar um exemplinho bem cozinhadinho.
importjava.util.Locale;importjava.text.DecimalFormat;importjava.text.DecimalFormatSymbols;classExemploCozinhado{publicstaticvoidmain(String[]args){Strings;doubled;DecimalFormatSymbolsdfs=newDecimalFormatSymbols(newLocale("pt","BR"));// Formato com sinal de menos -5.000,00DecimalFormatdf1=newDecimalFormat("#,##0.00",dfs);// Formato com parêntese (5.000,00)DecimalFormatdf2=newDecimalFormat("#,##0.00;(#,##0.00)",dfs);d=-5000.00;s=df1.format(d);System.out.println(s);// imprime -5.000,00s=df2.format(d);System.out.println(s);// imprime (5.000,00)}}
O
Osama_Developer
obrigado pelas respostas o problema foi resolvido!
Rodrigo_Sasaki
pra variar o entanglement enxergou o problema dentro do problema hehehe.