No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convertir entre tipos de datos

12/22
Recursos

Aportes 19

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Si en vez de querer hacer un truncamiento queréis redondear un número Float:

  1. Debeis importar la librería Foundation
import Foundation
  1. Y aplicar la función round() a la variable o constante
let age : Float = 17.6
round(age) // age == 18

En lenguajes como C++ a veces no se recomienda tanto enteros de 8 o 16 bits por problemas de alineación en la memoria. De hecho existen tipos como uint_fast8_t y cosas similares que le indican al compilador “quiero un tipo de 8 bits, pero tu determina cual es la representación mas rápida”.
¿Cuál es el caso en Swift? ¿Cómo maneja estos detalles el compilador?

ya a mitad del curso, se fue rapidísimo 😱

😕Javascript hace eso por si solo, por que Swift no es como JS???
Por que la vida no es como JS??

Les dejo lo más importante, la documentación:
Documentación Swift 😇

Realmente qué tanta memoria se desperdicia? Si no mal recuerdo este era un problema cuando teníamos memorias ram de menos de 1MB y esa fue la razón para hacer todo ese tipo de definición de memoria pero era cosa que se media en bytes ni siquiera kb.

muy facil realizar el casteo el swift

En el minuto 8:53 se está definiendo cómo “downcasting” a la concersión de un número con mayor precisión (por ejemplo un double) a uno con menor precision (por ejemplo un entero).

Esto sería conceptualmente correcto si la clase de un tipo de dato double heredara de un tipo de dato Entero, pero este no es el caso:

Esto en el lenguaje C se le conoce como typecasting
y es similar:

int suma;
suma = (float)1.7 + (float)1.89
// y esto es distinto de:
suma = 1.7 + 1.89
**let** twoThousand : UInt16 = 2\_000 **let** one : UInt8 = 1 **let** twoThousandAndOne = twoThousand + UInt16(one) // Transforma la var de 8bits a 16bits; el // dato ha sido casteado. **let** three = 3 **let** decimalNumber = 0.14159 **let** piNumber = Double(three) + decimalNumber // Int y Double no se pueden sumar. // DownCasting: caso contrario de Casting, pero se pierde información. **let** integerPi = Int(piNumber) // Truncar, corta el decimal. Se transforma a int.

Estos es lo que aprendi:
Hacer Castings (subir o bajar el tipo de dato) para realizar la operación con mismos tipos de datos.

Curioso, en el casting se pone entre paréntesis el nombre de la variable, en los lenguajes de programación como java se hace con el tipo de dato al cuál se quiere pasar el casting

Cuando se realiza la conversión tambien se podría utilizar un ‘[ ]’ en vez de parentesis?

Ejemplo:

let twoThousandAndOne = twoThousand + UInt16[one]
En vez de UInt16(one)

Es por curiosidad solo.

Casting

Vatos locos alterados

Casting

Muy buena clase y datos interesantes

Muy interesante

1er Comentario de Nuevo, Soy todo un Crack