Formatar um campo String

17 respostas
P

Olá , galera

tem uma duvida como faço para formatar

um campo (String) que está com o valor 1.9

e gostaria que ficasse 1.90…

Tem alguma função para isso ???

Se alguém puder me ajudar agradeceria…

abs

17 Respostas

gui_sv

vc está trabalhando com dinheiro ?? tipo R$ 1,90 …

T

Converta para um valor numérico, e então use alguma coisa (como DecimalNumberFormat ou String.format) para convertê-lo de novo para string.

P

Olá pessoal,

estou com um pouco de urgencia se açguém puder me ajudar

pois tenho um campo double com o valor de 1.9

e na pagina jsp queria que aparecesse 1.90

Se alguém tiver um exemplo agradeceria…

abs

betoecomp

Vc quer imprimir na tela esse numero???
Eh isso?
Se for acho que o uso de System.out.printf() ajudaria…

Igual faz em C

kallunga

Assim tb rola:

out.printf("<br>   %1$8.2f Total a Receber", 1.9 );

ou então:

DecimalFormat df = new DecimalFormat("##.00");  
double d = 10.8;  
System.out.println(" Valor: " + df.format(d));

Se estiver usando taglib, parece que a biblioteca fmt faz isso tb

betoecomp

kallunga,

naum sabia disso aí naum!! esse DecimalFormat

boa dica

cv1

Essa pergunta eh importante. Se vc estiver trabalhando com dinheiro, usar doubles ou floats eh uma pessima ideia.

kallunga

é…
mas ainda é preciso que o Paribe diga onde ele quer usar. Numa classe java, num Jsp…
Eu esqueci como é com o JSTL… Meu livro tá no trabalho…hehehe
+ou- isso pra Web:

<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<fmt:formatNumber value="3.9" "...">

Este é para apresentação em JSP

P

Valeu kallunga ,

deu certo …

abs

renatocustodio

cv:

Essa pergunta eh importante. Se vc estiver trabalhando com dinheiro, usar doubles ou floats eh uma pessima ideia.

Qual seria o tipo ideal para se trabalhar com dinheiro?

K_F
Gobain

Pq usar double é uma péssima idéia cv?

cv1

Pq usar double é uma péssima idéia cv?

Pq double e float sao tipos de PONTO FLUTUANTE. O nome ja deveria implicar que o ponto flutua - o que nao eh legal pra grana. Mas eh pior do que isso - em diversos casos (e pela maneira como numeros de pontos flutuantes sao implementados em CPUs) calculos bestas com numeros de ponto flutuante geram resultados inesperados (5.0000000000000001, por exemplo). Mais aqui: http://www2.hursley.ibm.com/decimal/decifaq1.html#inexact

O mais correto eh usar um tipo Money - mas se vc tiver na pressa, represente como um long em uma unidade diferente: o numero de centavos. Ao inves de 1.90, 190 :wink:

Gobain

Uhm… é verdade isso… eu já passei por essa de virar um 0,0…01 e dar errada a conta… nem tinha me tocado disso!
Valeu cv!

Rafael_Nunes

E por que não BigDecimal?

A

Também não sabia esse do DecimalFormat. Já fiz o ajuste que tava faltando num programa meu!

Só é bom comentar que a função pede a biblioteca java.text.DecimalFormat

cv1

E por que não BigDecimal?

Pode ser, tambem.

Criado 16 de abril de 2008
Ultima resposta 17 de abr. de 2008
Respostas 17
Participantes 11