我得到了一个 decimal_string,例如12.34、如何获取小数点前后的值?
a = 12
b = 34
如何获取a和b的值?
请您参考如下方法:
编辑: 阅读评论“这似乎可行,但如果 decimal_string 是例如 0 或 1234,它什么也不会给出,我需要它是 0。我该怎么做?”,我提交以下内容:
在下面的代码中,我们将字符串转换为小数,然后:
- 它的整数部分是
a - 整数部分后面的数字是
b。我们使用模数%运算符得到除以1的余数,然后简单地剥离 开头的0.,最后将其转换回int。
代码如下:
import decimal
try:
num = decimal.Decimal("12.34")
a = int(num)
b = int(str(num % 1)[2:])
except decimal.InvalidOperation:
a = None
b = None
原文:Python字符串对象有一个分区方法是这样的:
a,_,b = "12.34".partition('.')
请注意 _ 只是一个保存分区的变量,但实际上并没有用于任何用途。它可以是任何东西,例如 z。
这里要注意的另一件事是元组拆包...分区方法返回一个 len() 为 3 的元组。Python 会将这三个值分配给左侧相应的 3 个变量。
或者,您可以这样做:
val = "12.34".partition('.')
val[0] # is the left side - 12
val[2] # is the right side - 34
