Résumé de python conservant les fonctions décimales

Python conserve les décimales - '%f'

'%.nf' % x (variable définie)

exemple:

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

résultat de sortie

Python conserve les décimales - fonction format ()

À partir de Python2.6, une nouvelle fonction de chaîne de format str.format() a été ajoutée , ce qui améliore la fonction de formatage de chaîne.

La syntaxe de base est de remplacer le % précédent par {} et : .

La fonction de format peut accepter des paramètres illimités et les positions peuvent être hors service.

exemple

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))

résultat de sortie

Parce que la position de la fonction format () peut être dans le désordre, elle peut également être écrite comme ceci

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

résultat de sortie

En observant les données, on peut constater que les deux données ci-dessus sont « arrondies ».

Python conserve les décimales - fonction round()

La méthode round() renvoie la valeur arrondie du nombre à virgule flottante x.

Usage : rond (nombre, n), n est "expression numérique, indiquant le nombre de chiffres à partir de la virgule".

Exemple

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

résultat de sortie

Et pour la fonction round() parfois il y a des problèmes, parfois ça ne donne pas une sortie correcte

exemple

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

résultat de sortie

Si vous suivez l'"arrondi", il devrait sortir 2,68 , mais le résultat est 2,67, et la sortie de 8,875 est la valeur "d'arrondi" 8,88

Pour la fonction python round()

La fonction round en python arrondit la valeur décimale au nombre de chiffres donné, si nous ne fournissons pas n (c'est-à-dire le nombre de chiffres après la virgule), le nombre est arrondi à l'entier le plus proche.

exemple

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

résultat de sortie

Lorsque le deuxième paramètre est fourni, si le paramètre fourni n>=5, le dernier chiffre décimal sera augmenté de un jusqu'à la valeur arrondie, sinon il sera le même que celui fourni

exemple

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))

résultat de sortie

On peut voir que certains reports réussissent et d'autres échouent, donc cette fonction round() n'est pas facile à utiliser, mais le report d'entiers est correct

Il n'est donc pas recommandé d'utiliser cette méthode

Python conserve les décimales - math.floor

floor() Renvoie l'entier arrondi d'un nombre.

Pour utiliser la méthode du sol, vous devez introduire le module de mathématiques

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位小数等

Je suppose que tu aimes

Origine blog.csdn.net/qq_61897141/article/details/129192180
conseillé
Classement