Como determinar a leitura da quantidade de caracteres a serem lidos em uma String ?

Como vcs já viram no título da pergunta, meu objetivo é pegar apenas a sequencia que me interessa de uma string, por exemplo, eu tenho uma String preco cujo testo é R$ 20,00, como faço para pegar só a parte do número ?

Usa o método replace e remove o “R” e o “$”, depois substitui a “virgula” por ponto, por fim converte a string para numero usando o parseDouble ou parsebigdecimal.

@DanV8, você pode usa a classe NumberFormat do Java, que tem suporte a internacionalização de valores:

import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;

public class TesteMoeda {

	public static void main(String[] args) {
		Locale localeBrasil = new Locale("pt", "BR");
		NumberFormat formatoMonetario = NumberFormat.getCurrencyInstance(localeBrasil);
		
		try {
			Number valor = formatoMonetario.parse("R$ 20,00");
			System.out.println(valor);
		} catch (ParseException e) {
		}
	}

}

Abcs!

1 curtida