Advertisement
MarLind

"Proper" rounding

Sep 12th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. def r2(num, dec):
  2.     # print(round(num, dec))
  3.     # print(round(num+10**(-dec), dec))
  4.     if round(num*10**dec, 0) == round(num*10**dec + 1, 0) - 2:
  5.         # Ganger opp num slik at vi får tallet på
  6.         # Hvis num rundes ned, og num+1 rundes opp vil differansen være 2*10**(-dec), og vi sjekker om det er tilfellet
  7.         # og returnerer num rundet opp
  8.         # print("1")
  9.         return round(num+(10**(-dec)/2), dec)
  10.     elif round(num, dec) == round(num+10**(-dec), dec):
  11.         # Hvis num rundes opp til samme verdi som num+1 rundes ned, rund num opp
  12.         # print("2")
  13.         return round(num, dec)
  14.     else:
  15.         # print("3")
  16.         return round(num, dec)
  17.  
  18.  
  19. while True:
  20.     print("Will be {}".format(r2(float(input("Number: ")), int(input("Rounded to: ")))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement