Pythonã§åæšäºå ¥ããæ¹æ³ - round颿°ãšdecimalã¢ãžã¥ãŒã«ã䜿ã£ãæ¹æ³
å®è·µçãªã³ãŒããæžããŠãããšãæå€ãšåæšäºå ¥ãããå¿ èŠãããã±ãŒã¹ãçºçããŸããæ¬èšäºã§ã¯ãPythonã§æ°å€ãåæšäºå ¥ããããã®æ¹æ³ã«ã€ããŠãround颿°ãšdecimalã¢ãžã¥ãŒã«ã䜿ã£ãŠãåå¿è åãã«è§£èª¬ããŸããã¯ããã«
å®è·µçãªã³ãŒããæžããŠãããšãæå€ãšåæšäºå ¥ãããå¿ èŠãããã±ãŒã¹ãçºçããŸãã
æ¬èšäºã§ã¯ãPythonã§æ°å€ãåæšäºå ¥ããããã®æ¹æ³ã«ã€ããŠãround颿°ãšdecimalã¢ãžã¥ãŒã«ã䜿ã£ãŠãåå¿è åãã«è§£èª¬ããŸãã
åºæ¬çãªåæšäºå ¥
Pythonã§åæšäºå ¥ãè¡ãæãåºæ¬çãªæ¹æ³ã¯ãçµã¿èŸŒã¿é¢æ°ã®round()ã䜿çšããããšã§ãã
ãã®é¢æ°ã¯ãæ°å€ãæå®ãããå°æ°ç¹ä»¥äžã®æ¡æ°ã«åæšäºå ¥ããŸãã
round(æ°å€, æ¡æ°)
- æ°å€: åæšäºå ¥ãããæ°å€ãæå®ããŸãã
- æ¡æ°: åæšäºå ¥åŸã®å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããŸããçç¥ããå Žåã¯æŽæ°ã«äžžããããŸãã
åºæ¬çãªäœ¿ãæ¹ã¯ä»¥äžã®éãã§ãã
num = 3.14159
# æ¡æ°ãæå®ããªã
rounded_num = round(num)
print(rounded_num) # åºåïŒ3
# å°æ°ç¹ä»¥äž1æ¡ã«åæšäºå
¥
rounded_num = round(num, 1)
print(rounded_num) # åºåïŒ3.1
# å°æ°ç¹ä»¥äž2æ¡ã«åæšäºå
¥
rounded_num = round(num, 2)
print(rounded_num) # åºåïŒ3.14
è² ã®æ¡æ°ãæå®ããŠåæšäºå ¥
round()颿°ã§ã¯ãè² ã®æ¡æ°ãæå®ããããšã§æŽæ°éšåãåæšäºå ¥ããããšãã§ããŸãã
ããã«ãããç¹å®ã®æ¡ã§åãæšãŠãããšãå¯èœã§ãã
num = 357
# -1ãæå®ãããšãåã®äœã§åæšäºå
¥
rounded_num = round(num, -1)
print(rounded_num) # åºåïŒ360
# -2ãæå®ãããšãçŸã®äœã§åæšäºå
¥
rounded_num = round(num, -2)
print(rounded_num) # åºåïŒ400
round颿°ã®æ³šæç¹
éåžžãåæšäºå ¥ã®ã«ãŒã«ã¯ã5以äžãªãåãäžãã4以äžãªãåãæšãŠããšãããŠããŸãã
round()颿°ãã»ãŒãã®ã«ãŒã«ã«åŸã£ãŠåæšäºå
¥ãè¡ãããŸãããå¶æ°äžžãã«ãã£ãŠåŠçãè¡ããŸãã
ïŒå¯Ÿè±¡ã®å€ãã¡ããã©5ãšãªãå Žåã¯ãçµæãå¶æ°ãšãªãããã«äžžããããŸãïŒ
å ·äœäŸãèŠãŠãŸãããã
print(round(0.5))
print(round(1.5))
print(round(2.5))
print(round(3.5))
print(round(4.5))
print(round(5.5))
å®è¡çµæã¯ãã®ããã«ãªããŸãã
0
2
2
4
4
6
decimalã¢ãžã¥ãŒã«ã䜿ã£ãåæšäºå ¥
round()颿°ã¯éåžžã«ç°¡åã«äœ¿ããŸãããæµ®åå°æ°ç¹æ°ã®ç²ŸåºŠã«èµ·å ãã誀差ãçºçããå¯èœæ§ããããŸãã
ããæ£ç¢ºãªåæšäºå ¥ãè¡ãå¿ èŠãããå Žåã¯ãdecimalã¢ãžã¥ãŒã«ã䜿çšããŸãã
decimalã¢ãžã¥ãŒã«ã䜿ãããšã§10鲿Œç®ãæ£ç¢ºã«è¡ãããšãå¯èœã«ãªããããæ£ç¢ºãªåæšäºå ¥ãè¡ãããšãã§ããŸãã
ã§ã¯æ©éå ·äœäŸãèŠãŠã¿ãŸãããã
from decimal import Decimal, ROUND_HALF_UP
# Decimalãªããžã§ã¯ãã®äœæ
num = Decimal('3.141592')
# ROUND_HALF_UPã§éåžžã®åæšäºå
¥
rounded_num = num.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
print(rounded_num) # åºå: 3.14
- quantize()ã¡ãœããïŒæå®ããæ¡æ°ã§åæšäºå ¥ãè¡ã
- roundingãã©ã¡ãŒã¿ïŒäžžãæ¹ãæå®ã§ããŸããROUND_HALF_UPã¯éåžžã®åæšäºå ¥ãã€ãŸã5以äžã¯åãäžããã
æåŸã«
ãããã§ããã§ããããïŒ
åé ã«ãèšèŒããéããåæšäºå
¥ãè¡ãæ©äŒã¯æå€ã«å€ãã§ãã
ãã²ãã®èšäºãåèã«ããŠãPythonã«ãããåæšäºå
¥ã®æ¹æ³ããã¹ã¿ãŒããŠãããŸãããã













