Je l'oublierai bientôt, donc je l'écrirai comme rappel. ** Il y a rond () ** Arrondir après la virgule décimale est facile, mais je ne savais pas.
python3
>>> a = 1
>>> b = 6
>>> a / b
0.16666666666666666
python3
>>> round((a / b), 1)
0.2
>>> round((a / b), 2)
0.17
>>> round((a / b), 3)
0.167
>>> round((a / b), 4)
0.1667
Il y a eu un manque de considération, alors je vais l'ajouter.
Dans la série python3, il n'était parfois pas bien arrondi en raison du traitement des fractions. Remarque parce que j'étais accro à l'arrondissement de python3 Cette personne a également été résolue. C'était très utile, y compris des explications.
Par exemple, c'est ainsi que les inconvénients surviennent en un seul tour.
python3
>>> round(1.1115, 3)
1.111
>>> round(1.1125, 3)
1.113
En incluant de tels cas, je pense qu'il est possible d'arrondir les types flottants de longueur arbitraire avec les fonctions suivantes.
python3
def custom_round(number, ndigits=0):
if type(number) == int:#S'il s'agit d'un entier, renvoyez-le tel quel
return number
d_point = len(str(number).split('.')[1])#Définissez le nombre de chiffres sous la virgule décimale
if ndigits >= d_point:#Si la valeur après la virgule décimale souhaitée est supérieure à l'argument, renvoyez-la telle quelle
return number
c = (10 ** d_point) * 2
#Valeur pour ajouter 0 au nombre de chiffres après la virgule décimale pour en faire un entier et le doubler(0.Si 01, c vaut 200)
return round((number * c + 1) / c, ndigits)
#Ajoutez 0 au nombre d'origine pour faire un entier, doublez-le, ajoutez 1 et divisez par 2. Le numéro d'origine est 0.01 vaut 0.Réglez sur 015 et effectuez un tour
Exemple d'exécution
>>> round(1.1115, 3)
1.111
>>> round(1.1125, 3)
1.113
>>>
>>> custom_round(1.1115, 3)
1.112
>>> custom_round(1.1125, 3)
1.113
>>> round(4.5)
4
>>> round(3.5)
4
>>> custom_round(4.5)
5.0
>>> custom_round(3.5)
4.0
[Python / Sample / Manipulation des valeurs après le point décimal, arrondi, arrondi et troncature](http://ll.just4fun.biz/?Python/%E3%82%B5%E3%83%B3%E3%83%97 % E3% 83% AB /% E5% B0% 8F% E6% 95% B0% E7% 82% B9% E4% BB% A5% E4% B8% 8B% E3% 81% AE% E5% 80% A4% E3% 81% AE% E6% 93% 8D% E4% BD% 9C% E3% 83% BB% E5% 9B% 9B% E6% 8D% A8% E4% BA% 94% E5% 85% A5% E3% 82% 84% E5% 88% 87% E4% B8% 8A% E3% 81% 92% E3% 80% 81% E5% 88% 87% E6% 8D% A8% E3% 81% A6) Honke (2. Fonction intégrée #round ()) Remarque parce que j'étais accro à l'arrondissement de python3
Recommended Posts