Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

514
Vistas
Cómo verificar el valor doble es nulo o cero en kotlin

Cómo verificar el valor doble es nulo o cero en kotlin

 val ratio:Double? = 0.0 val calRatio = if (ratio == null || ratio == 0.0) 0.12 else ratio

proporción en nulo, 0.0, 0.1

si la relación es nula o 0.0, devuelve 0.12

y la relación es 0.2 o más, luego devuelve el mismo valor de relación

cómo verificar que este algoritmo no use la declaración if

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede escribir esto en Kotlin idomático sin una declaración if usando takeUnless .

 val ratio: Double? = 0.0 val calRatio = ratio.takeUnless { it == 0.0 } ?: 0.12

La llamada a takeUnless comprueba si el número coincide con el predicado it == 0.0 . Si el predicado se evalúa como true , se devuelve null . Solo cuando el predicado se evalúa como false se devuelve el número real.

Podemos ver por qué esto funciona considerando los tres casos posibles:

  1. Cuando ratio es null , el predicado it == 0.0 evalúa como false . La llamada a ratio.takeUnless { it == 0.0 } devuelve el valor de ratio , que es null . Debido a que su operando del lado izquierdo es null , el operador ?: devuelve el valor del lado derecho de 0.12 .
  2. Cuando ratio es 0.0 , el predicado it == 0.0 evalúa como true . La llamada a ratio.takeUnless { it == 0.0 } ignora el valor de ratio y en su lugar devuelve null . Debido a que su operando del lado izquierdo es null , el operador ?: devuelve el valor del lado derecho de 0.12 .
  3. Cuando ratio es cualquier número distinto de cero y no nulo, el predicado it == 0.0 evalúa como false . La llamada a ratio.takeUnless { it == 0.0 } devuelve el valor de ratio , que es el número original. Debido a que su operando del lado izquierdo no es nulo, el operador ?: devuelve el valor del lado izquierdo.
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda