public static double stringMonetarioToDouble(String str) { double retorno = 0; try { boolean hasMask = ((str.indexOf("R$") > -1 || str.indexOf("$") > -1) && (str .indexOf(".") > -1 || str.indexOf(",") > -1)); // Verificamos se existe máscara if (hasMask) { // Retiramos a máscara. str = str.replaceAll("[R$]", "").replaceAll("\\,\\w+", "") .replaceAll("\\.\\w+", ""); } // Transformamos o número que está escrito no EditText em // double. retorno = Double.parseDouble(str); } catch (NumberFormatException e) { //TRATAR EXCEÇÃO } return retorno; }
Como uso essa função ?