Kotlin \ Java – Cómo get la sum de los elementos modificados de Array

Tengo una variedad de precios que son cadenas y se ven así "$ 100.00". Quiero verificar la sum de todos esos precios, pero antes de tener que cambiar String por el número, lo hice así:

val price2 = "$100.00" val price3 = "INCLUDED" val price4 = "$200.00" val prices: Array<String> = arrayOf(price2, price3, price4) 

Así es cómo cambio String to Float:

  for (s: String in prices) { //I replace all dollar signs to empty space val s1 = s.replace("$", "") //I replace Included price to 0 val s2 = s1.replace("INCLUDED", "0") //Change type to float val p = s2.toFloat() println(p) } 

¿Cómo encontrar la sum de todos esos elementos cambiados? Quiero decir, quiero la sum de 100.0 + 0.0 + 200.0. Cosas que intenté:

 //added this into for loop val sum = +p println(sum) 

O

  //I tried to put this into the loop and after it val x = prices[0] + prices[1] + prices[2] println(x) 

¡Gracias por cualquier ayuda! He estado tratando de escribir en Kotlin pero los ejemplos de Java estarán bien.

EDITAR: He estado pensando en agregar p a una nueva matriz y luego encontrar la sum de la segunda matriz, pero no sé cómo hacerlo.

Una solución más práctica:

 val prices = listOf(price2, price3, price4) val pricesParsed = prices.map {it.replace("$", "")}.map {it.toFloatOrNull() ?: 0f} println(pricesParsed.sum()) 

Prueba esto:

 var sum = 0 for (s: String in prices) { //I replace all dollar signs to empty space val s1 = s.replace("$", "") //I replace Included price to 0 val s2 = s1.replace("INCLUDED", "0") //Change type to float val p = s2.toFloat() println(p) sum += p // NO var keyword! } println(sum) 

Puede ir con esto también:

 var p:Float = 0.0f for(i :String in prices) { var s1 = i.replace("$","") var s2 = s1.replace("INCLUDED","0") p = p + s2.toFloat() } 
  • Extrae el valor de text de un object para establecer el text en una list
  • Kotlin file para apk flujo de Android?
  • Tipo de interferencia fallida. No coinciden los types esperados: requiere un par de cadenas encontrado <String, String> en Kotlin y Anko
  • ¿Objeto de database Singleton con initialization parametrizada al inicio?
  • ¿Es posible crear constructores de extensiones en Kotlin?
  • Cómo especificar "propio tipo" como tipo de devolución en Kotlin
  • Kotlin stdlib operatios vs for loops
  • ¿Cómo puedo ejecutar las testings de kotlintest con gradle?
  • La mejor forma de manejar instancias de objects múltiples
  • Fail de testings de instrumentación debido a NoClassDefFoundError
  • No se pueden crear classs privadas con el mismo nombre en diferentes modules