#判断字符串是否是数字,看起来很简单,但是还是有些难度的
def is_number(s):try:float(s)#尝试转换为浮点数return Trueexcept ValueError:passtry:import unicodedata#尝试转换为一个数字符unicodedata.numeric(s)return Trueexcept(TypeError, ValueError):passtry:complex(s) # 尝试转换为复数return Trueexcept ValueError:passs = s.replace(',', '') # 去掉千位分隔符s = s.strip('$%') # 去掉货币符号或百分号if s.startswith('0x') or s.startswith('0X'): # 判断是否是十六进制字符串try:int(s, 16) # 尝试转换为十六进制整数return Trueexcept ValueError:passelif s.startswith('0b') or s.startswith('0B'): # 判断是否是二进制字符串try:int(s, 2) # 尝试转换为二进制整数return Trueexcept ValueError:passelif s.startswith('0o') or s.startswith('0O'): # 判断是否是八进制字符串try:int(s, 8) # 尝试转换为八进制整数return Trueexcept ValueError:passreturn False # 如果都不成功,返回False
print(is_number('2+2j'))   # False
print(is_number('1'))     # True
print(is_number('1.3'))   # True
print(is_number('-1.37')) # True
print(is_number('1e3'))   # True

这段代码是很有意义的代码,与我们的日常生活息息相关。

这串代码中运用了以下函数:

•  float(s):这个函数可以将字符串s转换为浮点数,如果s不是一个有效的浮点数字符串,就会抛出ValueError异常。

•  unicodedata.numeric(s):这个函数可以将字符串s转换为一个特殊的数字字符,例如'½','④','ⅲ'等,如果s不是一个有效的特殊数字字符,就会抛出TypeError或ValueError异常。

•  complex(s):这个函数可以将字符串s转换为复数,如果s不是一个有效的复数字符串,就会抛出ValueError异常。

•  s.replace(old, new):这个方法可以返回一个新的字符串,其中s中的所有old子串都被替换为new子串。

•  s.strip(chars):这个方法可以返回一个新的字符串,其中s两端的所有chars中的字符都被去掉。如果不指定chars,默认去掉空白字符。

•  s.startswith(prefix):这个方法可以判断字符串s是否以prefix开头,返回True或False。

•  int(s, base):这个函数可以将字符串s转换为base进制的整数,如果s不是一个有效的base进制整数字符串,就会抛出ValueError异常。

判断字符串是否是数字相关推荐

  1. Shell中判断字符串是否为数字的6种方法分享

    本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/ ...

  2. isdigit函数python检测数字个数_Python中判断字符串是否为数字的三个方法isdecimal 、isdigit、isnumeric的差别...

    isdecimal .isdigit.isnumeric这三个字符串方法都用于判断字符串是否为数字,为什么用三个方法呢?他们的差别是什么内? isdecimal:是否为十进制数字符,包括Unicode ...

  3. python判断字符串是纯数字_python判断字符串是否纯数字的方法

    本文实例讲述了python判断字符串是否纯数字的方法.分享给大家供大家参考.具体如下: 判断的代码如下,通过异常判断不能区分前面带正负号的区别,正则表达式可以根据自己需要比较灵活的写,通过isdigi ...

  4. C#判断字符串是否为数字字符串

    在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现. [方法一]:使用 try{} catch{} 语句.       我们可以在try语句块中试图将s ...

  5. 正则判断字符串是否为数字

    var re =/^(-?\d+)(\.\d+)?$/;   //判断字符串是否为数字 var re=/^[A-Za-z0-9]+$/;  //字母和数字组合 转载于:https://www.cnbl ...

  6. isdigit函数python_Python判断字符串是否为数字的方法isdecimal 、isdigit、isnumeric及坑...

    Python判断字符串是否为"数字",这个"数字"的说法相对比较模糊.主要的区别在哪里呢,来段代码输出看一下. 从Unicode官网查询到当前的Unicode版 ...

  7. vb 字符串转为数字 和判断字符串是否是数字字符串【转】

    1 Val 函数 返回包含于字符串内的数字,字符串中是一个适当类型的数值. 语法 Val(string) 必要的 string 参数可以是任何有效的字符串表达式. 说明 Val 函数,在它不能识别为数 ...

  8. ios 怎么判断字符串的字节数_如何用IOS判断字符串是不是纯数字

    我们在开发项目的时候经常会需要我们只输入一段纯数字,当我们在输入这段数字后就需要对字符串进行判断,看看是不是符合纯数字,那么你知道如何用IOS判断字符串是不是纯数字吗? 下面介绍几种判断字符串是否为纯 ...

  9. js 判断字符串是否为数字(正整数)

    /*** 判断字符串是否为数字* @param nubmer* @returns {boolean}*/ function checkRate(nubmer) {//判断正整数/[1−9]+[0−9] ...

最新文章

  1. 一文盘点5种聚类算法,数据科学家必备!
  2. 【EF】EF扩展库(批量操作)
  3. iOS 9.0以后支持http协议
  4. 125. Valid Palindrome
  5. Spring : SpringBootConfiguration 注解
  6. 开发者如何钻 App Store 的漏洞?
  7. ad采样频率_带你了解AD的工作原理!!!
  8. 拓端tecdat|R语言对MNIST数据集分析:探索手写数字分类
  9. 嵌入式Linux/Android疑难杂症工作笔记
  10. 7.2.3 十字链表
  11. Json数组转Map
  12. VirtualBox虚拟机安装Win10企业版
  13. FPGA控制_步进电机模块使用说明
  14. 机器学习理论知识的自学整理(持续更新,建议收藏)
  15. python中什么是继承_Python中的继承是什么意思?
  16. 鸿蒙阴阳星辰塔,第1298章鸿蒙星辰塔的新能力
  17. C语言学习笔记1——零散基础知识
  18. 使用c语言实现传输的流量控制
  19. 吃鸡自定义服务器在哪买,内马尔沉迷《绝地求生大逃杀》难自拔!申请自定义服务器获官方如此回复...
  20. 阿里巴巴鸿蒙系统,都说鸿蒙系统要比阿里YunOS更容易成功,到底容易在哪些方面?...

热门文章

  1. 项目三 奖学金名单
  2. 体验Vue3.0, 仿一个网易云音乐客户端
  3. gridControl控件的gridView实现全选
  4. 冰河联合猫大人又出版一本分布式事务领域的开山之作,这是要再次起飞了吗?
  5. 新建网站如何跟服务器连接,flashfxp怎么用(新建添加网站[站点]连接)
  6. PMP有效期三年后,还有必要续证吗?
  7. 2019 Google Adsense 申请 两个月内审核通过两个网站复盘
  8. jQuery.bind() 函数详解
  9. 3%!微软只录用最顶尖的人才!
  10. J-Link软件和文档包的版本发行说明(3)[V6.14 ~ V6.48b版本]