如何获取小数点后的数字?
例如,如果有 5.55
,如何获取 .55
?
number=5.55
decimal=(number-int(number))
decimal_1=round(decimal,2)
print(decimal)
print(decimal_1)
输出:0.55
def fractional_part(numerator, denominator):
if denominator == 0:
return 0
else:
return numerator / denominator - numerator // denominator
print(fractional_part(5, 5)) # Should be 0
print(fractional_part(5, 4)) # Should be 0.25
print(fractional_part(5, 3)) # Should be 0.66...
print(fractional_part(5, 2)) # Should be 0.5
print(fractional_part(5, 0)) # Should be 0
print(fractional_part(0, 5)) # Should be 0
df['decimals'] = df['original_number'].mod(1)
看我通常如何在 Python 中获取小数点后的数字 3:
a=1.22
dec=str(a).split('.')
dec= int(dec[1])
关于这个问题,怎么样:
a = 1.234
b = a - int(a)
length = len(str(a))
round(b, length-2)
输出:
print(b)
0.23399999999999999
round(b, length-2)
0.234
由于 round 函数是针对小数点后的位数('0.234'),我们只需减去 2,就可以得到所需的小数点位数。这通常有效,除非你有很多小数位并且计算 b 时出现舍入误差影响了 round 函数的第二个参数。
def decimales(n):
n_int = int(n)
n_int_len = len(int(str(n)))
n_float = float(n)
n_float_len = len(float(str(n)))
n_decimal = n_float - n_int
n_decimal_len = n_float_len - n_int_len
n_decimal = round(n_decimal, n_decimal_len)
return n_decimal
import math
num = math.fabs(float(5.55))
rem = num % 1
rnd_by = len(str(num)) - len(str(int(num))) - 1
print(str(round(rem,rnd_by)))
你的输出将会是0.55
number = 123.456
temp = 1
while (number*temp)%10 != 0:
temp = temp *10
print temp
print number
temp = temp /10
number = number*temp
number_final = number%temp
print number_final
float( '0.' + str(5.55).split('.')[1] )
>>> 0.55。但如果有人有不同的想法,请告诉我。 - Abimael Domínguez