How Do I Shift The Decimal Place In Python?
I'm currently using the following to compute the difference in two times. The out - in is very fast and thus I do not need to display the hour and minutes which are just 0.00 anywa
Solution 1:
The same way you do in math
a = 0.01;
a *= 10; // shifts decimal place right
a /= 10.; // shifts decimal place left
Solution 2:
defmove_point(number, shift, base=10):
"""
>>> move_point(1,2)
100
>>> move_point(1,-2)
0.01
>>> move_point(1,2,2)
4
>>> move_point(1,-2,2)
0.25
"""return number * base**shift
Solution 3:
or use the datetime module
>>> import datetime
>>> a = datetime.datetime.strptime("30 Nov 11 0.00.00", "%d %b %y %H.%M.%S")
>>> b = datetime.datetime.strptime("2 Dec 11 0.00.00", "%d %b %y %H.%M.%S")
>>> a - b
datetime.timedelta(-2)
Solution 4:
Expanding upon the accepted answer; here is a function that will move the decimal place of whatever number you give it. In the case where the decimal place argument is 0, the original number is returned. A float type is always returned for consistency.
defmoveDecimalPoint(num, decimal_places):
'''
Move the decimal place in a given number.
args:
num (int)(float) = The number in which you are modifying.
decimal_places (int) = The number of decimal places to move.
returns:
(float)
ex. moveDecimalPoint(11.05, -2) returns: 0.1105
'''for _ inrange(abs(decimal_places)):
if decimal_places>0:
num *= 10; #shifts decimal place rightelse:
num /= 10.; #shifts decimal place leftreturnfloat(num)
print (moveDecimalPoint(11.05, -2))
Post a Comment for "How Do I Shift The Decimal Place In Python?"