Resumen de python que retiene funciones decimales

Python retiene decimales - '%f'

'%.nf' % x (variable definida)

ejemplo:

a = 82.16332
print('%.1f'% a)
print('%.2f'% a)
print('%.3f'% a)
print('%.4f'% a)
print('%.10f'% a)

resultado de salida

Python retiene decimales - función de formato ()

A partir de Python2.6, se ha agregado una nueva función de cadena de formato str.format() , que mejora la función de formato de cadena.

La sintaxis básica es reemplazar el % anterior con {} y : .

La función de formato puede aceptar parámetros ilimitados y las posiciones pueden estar desordenadas.

ejemplo

print("{:.1f}".format(0.167123))
print("{:.2f}".format(0.167123))
print("{:.3f}".format(0.167123))
print("{:.4f}".format(0.167123))
print("{:.10f}".format(0.167123))

resultado de salida

Debido a que la posición de la función format() puede estar desordenada, también se puede escribir así

print(format(0.167123, '.1f'))
print(format(0.167123, '.2f'))
print(format(0.167123, '.3f'))
print(format(0.167123, '.10f'))

resultado de salida

Al observar los datos, se puede encontrar que los dos datos anteriores están 'redondeados'.

Python retiene decimales - función round()

El método round() devuelve el valor redondeado del número de coma flotante x.

Uso: redondo (número, n), n es "expresión numérica, que indica el número de dígitos desde el punto decimal".

Ejemplo

s = 1.15457321
print("round(80.23456, 2) : ", round(80.23456, 2))
print( round(1203245, 3))
print(round(s,10))

resultado de salida

Y para la función round() a veces hay algunos problemas, a veces no da la salida correcta

ejemplo

print(round(2.675,2))
print(round(8.875,2))

resultado de salida

Si sigue el 'redondeo', debería dar como resultado 2.68 , pero el resultado es 2.67, y el resultado de 8.875 es el valor de 'redondeo' 8.88

Para la función python round()

La función round en python redondea el valor decimal al número dado de dígitos, si no proporcionamos n (que es el número de dígitos después del decimal), el número se redondea al entero más cercano.

ejemplo

#int
print(round(12))
#float
print(round(66.6))
print(round(45.5))
print(round(92.4))

resultado de salida

Cuando se proporcione el segundo parámetro, si el parámetro proporcionado n>=5, el último dígito decimal se incrementará en uno hasta el valor redondeado, de lo contrario será igual al proporcionado

ejemplo

print(round(1.221, 2))
print(round(1.222, 2))
print(round(1.223, 2))
print(round(1.224, 2))
print(round(1.215, 2))
print(round(1.226, 2))
print(round(1.227, 2))
print(round(1.228, 2))
print(round(1.279, 2))

resultado de salida

Se puede ver que algunos acarreos son exitosos y otros no, por lo que esta función round() no es fácil de usar, pero el acarreo de enteros es correcto.

Por lo tanto, no se recomienda utilizar este método.

Python retiene decimales - math.floor

floor() Devuelve el entero redondeado de un número.

Para usar el método de suelo, debe introducir el módulo de matemáticas

floor()表示的是向下取舍

例子

import math
print("math.floor(-45.17) : ", math.floor(-45.17))
print("math.floor(100.12) : ", math.floor(100.12))
print("math.floor(100.72) : ", math.floor(100.72))
print("math.floor(119L) : ", math.floor(119))
print("math.floor(math.pi) : ", math.floor(math.pi))

输出结果

进行小数操作可以这样使用,先进行扩大数值的n次方,然后再除以n次方,即可得到’四舍五不入‘的数值

例子:(保留两位小数)

import math
print(math.floor(1.25754*10**2)/10**2)

输出结果

如果想要输出三位小数不进行‘四舍五入’,可以先乘10**3然后除以10**3

python保留小数——不进行四舍五入,简单粗暴法int()

例子

print(int(1.23456 * 1000) / 1000 )

输出结果

放大指定的倍数,然后取整,然后再除以指定的倍数。

可以利用上面的函数进行保留2位小数、3位小数、4位小数等

Supongo que te gusta

Origin blog.csdn.net/qq_61897141/article/details/129192180
Recomendado
Clasificación