Skip to main content
 首页 » 编程设计

python之获取十进制值

2025年05月04日24虾米哥

我得到了一个 decimal_string,例如12.34、如何获取小数点前后的值?

a = 12 
b = 34 

如何获取a和b的值?

请您参考如下方法:

编辑: 阅读评论“这似乎可行,但如果 decimal_string 是例如 0 或 1234,它什么也不会给出,我需要它是 0。我该怎么做?”,我提交以下内容:

在下面的代码中,我们将字符串转换为小数,然后:

  1. 它的整数部分是a
  2. 整数部分后面的数字是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