如何获取小数点后的数字?

184

如何获取小数点后的数字?

例如,如果有 5.55,如何获取 .55


2
相关问题:在Python中如何通过小数点拆分数字? - ire_and_curses
我认为你应该更改这个问题的被采纳答案。我差点没有往下滚动查看得到获得10倍投票的答案,这可能会在以后给我带来麻烦。 - Gulzar
我认为这是一个简单的方法:float( '0.' + str(5.55).split('.')[1] ) >>> 0.55。但如果有人有不同的想法,请告诉我。 - Abimael Domínguez
38个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
0
number=5.55
decimal=(number-int(number))
decimal_1=round(decimal,2)
print(decimal)
print(decimal_1)

输出:0.55


0
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

0
如果你正在使用pandas:
df['decimals'] = df['original_number'].mod(1)

0

看我通常如何在 Python 中获取小数点后的数字 3:

a=1.22
dec=str(a).split('.')
dec= int(dec[1])

0

关于这个问题,怎么样:

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 函数的第二个参数。


有任何解释吗? - user7582130

0
尝试这个 def 函数。
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

  

您的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认您的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - moken

-1
一个解决方案是使用取模和四舍五入。
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


-2
另一个疯狂的解决方案是(不将其转换为字符串):
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,