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
![](https://img-blog.csdnimg.cn/img_convert/028696b5422b42ee9b85bbe6767cccba.png)
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
![](https://img-blog.csdnimg.cn/img_convert/5ddf5351c97344c4bd46bce058bb06df.png)
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
![](https://img-blog.csdnimg.cn/img_convert/6f5a568d8f194666bcce586e4f6322d9.png)
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
![](https://img-blog.csdnimg.cn/img_convert/ad387360be4a4ade84a470c28596f5ef.png)
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
![](https://img-blog.csdnimg.cn/img_convert/e6ed9b7c11194280b34ee48497c20b41.png)
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
![](https://img-blog.csdnimg.cn/img_convert/4ec2d49c59c040e4bec0f78b7837576d.png)
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
![](https://img-blog.csdnimg.cn/img_convert/48560e44d22f46c3b9be60fa964bde9d.png)
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))
输出结果
![](https://img-blog.csdnimg.cn/img_convert/e7cea256cf7a4093a5ec74c7982429dc.png)
进行小数操作可以这样使用,先进行扩大数值的n次方,然后再除以n次方,即可得到’四舍五不入‘的数值
例子:(保留两位小数)
import math
print(math.floor(1.25754*10**2)/10**2)
输出结果
![](https://img-blog.csdnimg.cn/img_convert/24eacac05ce54bc883952d72ed0a607c.png)
如果想要输出三位小数不进行‘四舍五入’,可以先乘10**3然后除以10**3
python保留小数——不进行四舍五入,简单粗暴法int()
例子
print(int(1.23456 * 1000) / 1000 )
输出结果
![](https://img-blog.csdnimg.cn/img_convert/b8544b52b37a4c73af274f505facb3e3.png)
放大指定的倍数,然后取整,然后再除以指定的倍数。
可以利用上面的函数进行保留2位小数、3位小数、4位小数等