首页 > 技术文章 > python输入一个字符串,判断这个字符串是小数还是字母,以及Decimal函数的用法

qingnvsue 2020-06-09 04:48 原文

from decimal import Decimal
r = "ab.999999999"
#r = "19.999999999"
#if r.isdigit()==1 or "".join(r.strip("+").strip("-").split(".")).isdigit()==1:
if r.replace('.','',1).isdigit():
   xxxx=Decimal(r ).quantize(Decimal('0.00'))
   print(xxxx,'是小数')
else:
   xxxx=r
   print(xxxx,'是字母')

from decimal import Decimal
#r = "ab.999999999"
r = "19.999999999"
#if r.isdigit()==1 or "".join(r.strip("+").strip("-").split(".")).isdigit()==1:
if r.replace('.','',1).isdigit():
   xxxx=Decimal(r ).quantize(Decimal('0.00'))
   print(xxxx,'是小数')
else:
   xxxx=r
   print(xxxx,'是字母')

 

Decimal函数可以将表示数字的字符串精确到小数点后几位。

isdigiit函数只可以判断整型的字符串是否为数字,不能判断小数。在这里用了

r.replace('.','',1).isdigit():  1表示将'.'将小数点在字符串里只移除一次。

 当遇见要判断的数值是负数时,可以采用以下方式

from decimal import Decimal
i=str(-12345.999999)
if i.replace('.', '', 1).replace('-', '', 1).isdigit():
   resultoutput = Decimal(i).quantize(Decimal('0.00'))
print(resultoutput )

用replace移除负号。

 

推荐阅读