Saltar al contenido

Python Convertir fracción a decimal

Te damos la bienvenida a nuestro sitio, en este sitio encontrarás la solucíon de lo que buscabas.

Solución:

en python 3.x cualquier división devuelve un flotante;

>>> 1/2
0.5

para lograr eso en python 2.x, debe forzar la conversión flotante:

>>> 1.0/2
0.5

o importar la división del “futuro”

>>> from __future__ import division
>>> 1/2
0.5

Un extra: no hay un tipo de fracción incorporado, pero hay en la biblioteca oficial:

>>> from fractions import Fraction
>>> a = Fraction(1, 2) #or Fraction('1/2')
>>> a
Fraction(1, 2)
>>> print a
1/2
>>> float(a)
0.5

y así…

Probablemente esté usando Python 2. Puede “arreglar” la división usando:

from __future__ import division

al comienzo de su secuencia de comandos (antes de cualquier otra importación). Por defecto en Python 2, el / El operador realiza la división de enteros cuando se utilizan operandos de enteros, lo que descarta partes fraccionarias del resultado.

Esto se ha cambiado en Python 3 para que / es siempre una división de punto flotante. El nuevo // El operador realiza la división de enteros.

Alternativamente, puede forzar la división de punto flotante especificando un decimal o multiplicando por 1.0. Por ejemplo (desde dentro del intérprete de python):

>>> print 1/2
0
>>> print 1./2
0.5
>>> x = 1/2
>>> print x
0
>>> x = 1./2
>>> print x
0.5
>>> x = 1.0 * 1/2
>>> print x
0.5

EDITAR: Parece que me dieron una paliza en el tiempo que tardé en escribir mi respuesta 🙂

Si te animas, puedes dejar una crónica acerca de qué te ha gustado de esta crónica.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *