es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo obtener la potencia de un Double con otro Double en Swift 5.5?

Para resumir la historia, necesito obtener x elevado a la potencia de y, ambos son números decimales (dobles).

El problema es que siempre obtengo 0.

import Darwin

x: Double = 3.86
y: Double = 4.86

var Answer = Int(pow(Double(x),Double(y)))

// ¿Por qué Answer es igual a 0?
// Debería ser igual a 709.2744...

Entonces, ¿por qué sucede esto y cómo puedo hacer que funcione correctamente?

Y sí, este cálculo funciona bien con números enteros, pero cuando se agregan decimales, todo se desmorona.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema aquí es que el resultado de la función pow es un double y estás intentando convertirlo a un Int. Esto resultará en truncar la parte decimal del resultado y te dará 0. Para solucionar esto, simplemente cambia el tipo de “Answer” a Double:

    import Darwin
    
    let x: Double = 3.86
    let y: Double = 4.86
    
    let answer: Double = pow(x, y)
    
    // answer = 709.2744...
    

    Esto debería darte la respuesta correcta.

Comments are closed.