Cómo convertir de fracción de la cadena formateada en Decimal o Float en Java?

Tengo pocos valores de cadena que estoy buscando desde mi base de datos, por ejemplo

"1/4","2/3" 

Pero al mostrar como Android ListView contenido necesito mostrarlo como 0.25 , 0.66 .

Ahora no quiero dividir la cadena y luego encubierto a las cadenas individuales a los números y luego dividirlos para tener resultado.

¿Alguien sabe, cualquier función directa como Double.valueOf o parseDouble ?

¿Por qué "no quiere dividir la cadena y luego encubierto a las cadenas individuales a los números y luego dividirlos para tener resultado" ?

No soy consciente de ninguna función incorporada para hacer eso tan la solución más simple:

 double parse(String ratio) { if (ratio.contains("/")) { String[] rat = ratio.split("/"); return Double.parseDouble(rat[0]) / Double.parseDouble(rat[1]); } else { return Double.parseDouble(ratio); } } 

También cubre el caso en el que tiene representación entera de proporción

 parse("1/2") => 0.5 parse("3/7") => 0.42857142857142855 parse("1") => 1.0 

Me imagino que han resuelto este problema en los últimos 2 años; Sin embargo, puede utilizar la clase de fracción de Apache commons .

Tiene un parser incorporado, así que si usted llamara:

 Fraction fraction = Fraction.getFraction("1/2"); double d = fraction.doubleValue(); 

Entonces d debe contener .5.

Puede dividir la fracción mediante la split("/") . A continuación, puede convertir los valores en Double y realizar la división. No tengo ni idea de Android, así es como lo haría en Java.

En java, no tenemos nada como el eval de JavaScript para que pueda utilizar esto .

No creo que haya algo así. Pero no veo por qué no crearías tu propia función como esta:

 public static double fromStringFraction(String fraction){ String[] fractionArray = fraction.split("/"); try { if (fractionArray.length != 2){ if (fractionArray.length == 1){ return Double.parseDouble(fractionArray[0]); } else { return 0d; } } double b = Double.parseDouble(fractionArray[1]); if (b==0d){ return 0d; } Double a = Double.parseDouble(fractionArray[0]); return a/b; } catch (NumberFormatException e){ return 0d; } } 

Intenta usar

 SpannableStringBuilder test = new SpannableStringBuilder(); test.append("\n"); test.append(Html.fromHtml("<sup>5</sup>/<sub>9</sub>")); test.append("\n"); 
  • Rectángulo Coordina con Respecto al Ángulo de Rotación
  • Configuración de la alarma en base mensual android
  • ¿Puede explicar (cálculos matemáticos) ejemplo de gesto (Levenshtein)?
  • Android - calcular el ángulo del arco
  • Detectar si está a un kilómetro del punto de interés
  • ¿Qué es una buena biblioteca para analizar expresiones matemáticas en java?
  • Implementar página curl en android?
  • Cálculo de intersecciones entre segmentos de línea
  • ¿Cómo calcular la posición en un círculo con un cierto ángulo?
  • Parallax XY y cálculo de la rotación
  • ¿Multiplicar dobles en java?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.