Re: [java-list] Formatação decimal de uma String
Nó!Assim não! Que tal esta função? // // Método que, dada string fornecida como valor, formata a String dada em // valores monetários Ex: 110057 = 1.100,57 // public static String formataMonetario( String valor ) { // Elimina os zeros int pos = 0; while( (posvalor.length()) (valor.charAt(pos) == '0') ) { pos++ ; } if( pos = valor.length() ) { return "0,00"; } else { valor = valor.substring(pos); } if( (valor == null)||(valor.equals("")) ) return ""; else { int tamanho = valor.length(); String retorno = ""; retorno = "," + valor.substring(tamanho-2, tamanho) ; tamanho -= 2 ; while( tamanho 3 ) { retorno = "." + valor.substring(tamanho-3, tamanho) + retorno ; tamanho -= 3; } retorno = valor.substring(0, tamanho) + retorno ; return retorno; } } []'s Luiz Reginaldo - Original Message - From: igor dos santos ferreira To: [EMAIL PROTECTED] Sent: Thursday, March 20, 2003 11:02 AM Subject: RE: [java-list] Formatação decimal de uma String Asadelta Java, Tente : import java.text.NumberFormat; import java.util.Locale; String str2 = "123456" // o resultado deveria ser 1.234,56 decimal double num = Double.parseDouble(str2); // transforma e numero decimal NumberFormat nf = NumberFormat.getInstance(new Locale("pt","BR")); // pega a formatação utilizada no País System.out.println( nf.format( num ) ); Igor dos Santos Ferreira Application Developer Jr. Timnet.com 55 021 398 37221 55 021 811 24995 http://www.timnet.com -Original Message-From: asadelta java [mailto:[EMAIL PROTECTED]Sent: terça-feira, 11 de março de 2003 15:03To: [EMAIL PROTECTED]Subject: [java-list] Formatação decimal de uma String Olá, 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.[Igor dos Santos Ferreira]
RE: [java-list] Formatação decimal de uma String
Asadelta Java, Tente : import java.text.NumberFormat; import java.util.Locale; String str2 = "123456" // o resultado deveria ser 1.234,56 decimal double num = Double.parseDouble(str2); // transforma e numero decimal NumberFormat nf = NumberFormat.getInstance(new Locale("pt","BR")); // pega a formatação utilizada no País System.out.println( nf.format( num ) ); Igor dos Santos Ferreira Application Developer Jr. Timnet.com 55 021 398 37221 55 021 811 24995 http://www.timnet.com -Original Message-From: asadelta java [mailto:[EMAIL PROTECTED]Sent: terça-feira, 11 de março de 2003 15:03To: [EMAIL PROTECTED]Subject: [java-list] Formatação decimal de uma String Olá, 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.[Igor dos Santos Ferreira]
RE: [java-list] Formatação decimal de uma String
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,"00.00")); }}//FIM DO FONTE -Original Message-From: asadelta java [mailto:[EMAIL PROTECTED]Sent: 11 March, 2003 15:03To: [EMAIL PROTECTED]Subject: [java-list] Formatação decimal de uma String Olá, 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.