Mr.AsaDelta,
Não sei se é bem
isso que você quer, mas aí vai um exemplo de formatação.
O método transform
está preparado para receber double(com máscara e sem máscara) , mas você
pode criar as variações que quiser.
Eliseu
Pfaffenseller
Analista de
Sistemas.
//INÍCIO DO
FONTE:
import java.text.*;
class JFNumber
{
//======================================================================\\
// transform function:
// Put number to the Brazilian/English Format (decimal point is comma)
// and format to the optional informed mask
public static String transform(double num)
{
return(transform(num, null));
}
public static String transform(double num, String mask)
{
DecimalFormat df = new DecimalFormat();
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setCurrencySymbol("R$");
dfs.setGroupingSeparator('.');
dfs.setDecimalSeparator(',');
df.setDecimalFormatSymbols(dfs);
if(mask != null)
df.applyPattern(mask);
return(df.format(num));
}
//======================================================================\\
}
//TESTE:
public class Teste
{
public static void main(java.lang.String[] args)
{
System.out.println(JFNumber.transform(123456.78,"###,##0.00"));
System.out.println(JFNumber.transform(123456.78));
System.out.println(JFNumber.transform(0.12,"###,##0.00"));
System.out.println(JFNumber.transform(0.12,"R$ ###,##0.00"));
System.out.println(JFNumber.transform(456.78,"000,000.00"));
System.out.println(JFNumber.transform(3456.78,"000,000.00"));
System.out.println(JFNumber.transform(3456.78,"000000.00"));
}
}
//FIM DO FONTE
class JFNumber
{
//======================================================================\\
// transform function:
// Put number to the Brazilian/English Format (decimal point is comma)
// and format to the optional informed mask
public static String transform(double num)
{
return(transform(num, null));
}
public static String transform(double num, String mask)
{
DecimalFormat df = new DecimalFormat();
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setCurrencySymbol("R$");
dfs.setGroupingSeparator('.');
dfs.setDecimalSeparator(',');
df.setDecimalFormatSymbols(dfs);
if(mask != null)
df.applyPattern(mask);
return(df.format(num));
}
//======================================================================\\
}
//TESTE:
public class Teste
{
public static void main(java.lang.String[] args)
{
System.out.println(JFNumber.transform(123456.78,"###,##0.00"));
System.out.println(JFNumber.transform(123456.78));
System.out.println(JFNumber.transform(0.12,"###,##0.00"));
System.out.println(JFNumber.transform(0.12,"R$ ###,##0.00"));
System.out.println(JFNumber.transform(456.78,"000,000.00"));
System.out.println(JFNumber.transform(3456.78,"000,000.00"));
System.out.println(JFNumber.transform(3456.78,"000000.00"));
}
}
//FIM DO FONTE
-----Original Message-----
From: asadelta java [mailto:[EMAIL PROTECTED]
Sent: 11 March, 2003 15:03
To: [EMAIL PROTECTED]
Subject: [java-list] Formatação decimal de uma StringOlá,
como faço para fazer um formatação decimal de uma string obtida do BD?
P.ex. Recebi as Strings
str1 = "123"; // o resultado deveria ser 1,23 decimal
str2 = "123456" // o resultado deveria ser 1.234,56 decimal
Na API do Java existe alguma alternativa fácil ou teria que fazer na unha?
Obrigado.
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.