文章目录

  • 问题描述
  • 解决方案
  • 修改内置类型
  • 百分号字符串转数字
  • 参考文献

问题描述

本文版本为 Python 3.8

str.isdigit() 仅可判断非负整数

print('0'.isdigit())  # True
print('1'.isdigit())  # True
print('-1'.isdigit())  # False
print('0.1'.isdigit())  # False
print('十'.isdigit())  # False
print('a1'.isdigit())  # False

解决方案

纯数字

def isnumber(data):"""判断字符串是否为数字"""try:float(data)return Trueexcept:return Falseprint(isnumber('0'))  # True
print(isnumber('1'))  # True
print(isnumber('-1'))  # True
print(isnumber('0.1'))  # True
print(isnumber('十'))  # False
print(isnumber('a1'))  # False

数字+简单中文

def isnumber(data):"""判断字符串是否为数字"""try:float(data)return Trueexcept ValueError:passtry:import unicodedataunicodedata.numeric(data)return Trueexcept (TypeError, ValueError):passreturn Falseprint(isnumber('0'))  # True
print(isnumber('1'))  # True
print(isnumber('-1'))  # True
print(isnumber('0.1'))  # True
print(isnumber('十'))  # True
print(isnumber('a1'))  # False

数字+复杂中文:Python中文转数字

修改内置类型

这种其实不是很好用,无法直接 '0'.isnumber()

import builtins
import unicodedataclass MyString(str):def isnumber(self):"""判断字符串是否为数字"""try:float(self)return Trueexcept:return Falsebuiltins.str = MyString
print(str('0').isnumber())  # True
print(str('1').isnumber())  # True
print(str('-1').isnumber())  # True
print(str('0.1').isnumber())  # True
print(str('一').isnumber())  # False
print(str('a1').isnumber())  # False

百分号字符串转数字

def percent2number(x):"""百分号字符串转数字"""return float(x.strip('%')) / 100l = ['10.33%', '23.22%', '56%', '35.786%', '99.0009%']
for i in l:print(percent2number(i))
# 0.1033
# 0.2322
# 0.56
# 0.35786
# 0.990009

参考文献

  1. str — Python 文档
  2. Python 判断字符串是否为数字
  3. 如何让自己的工具函数在 python 全局可用
  4. python 判断字符串的内容是不是数字
  5. Python–动态为类增加属性的几种方式总结
  6. Python 修改内置类型
  7. How to fix the RecursionError caused by builtins.str from UserString
  8. python adding new methods to built-in types

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

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

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

  2. python 判断字符串是否为数字或字母

    一.常用的字符串分为四种情况: 1.单个字符串,有文字.数字.符号等,如:'1'.'可'.'-' 等. 2.纯数字符串,如:'111'.'-111'.'12.35'.'0.456' 等. 3.混合字符 ...

  3. python 判断是否为数字(整型、浮点型),Python判断字符串是否为数字、浮点数、字母...

    前言 在Python中处理字符串的函数比较丰富,有时需要把字符串转化为整形.浮点型等:转换过程中,发现有时会报错,比如字符串"12*76",转换为整形,直接转换int(" ...

  4. Python判断字符串是否为数字、浮点数、字母

    前言 在Python中处理字符串的函数比较丰富,有时需要把字符串转化为整形.浮点型等:转换过程中,发现有时会报错,比如字符串"12*76",转换为整形,直接转换int(" ...

  5. python判断字符串是全数字或者全字母

    预处理数据时,有个图像库的年龄标签可能是年龄区间,比如:(1,5).也可能是1个单个的年龄值,比如:5. 赋值时,需要判断是否为全数字:5,如果不是全数字,则需要用到分割. str.isnumeric ...

  6. python 判断字符串是否为数字_Python核心知识系列:数字与字符串类型

    ​学习任何一种编程语言时首先要对它的数据类型有所了解,从本篇开始会对 Python 中的常见数据类型的基本概念和操作进行介绍. Python中有6种标准的数据类型:数字(Number).字符串(Str ...

  7. python判断字符串是字母 数字 大小写

    字符串.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False. 字符串.isalpha()   所有字符都是字母,为真返回 Ture,否则返回 False. 字符串 ...

  8. python 判断字符串是否以数字结尾

    使用正则表达式 很简单具体如下 str_content = "hello886" str_pattern = re.compile(r".*[0-9]$") i ...

  9. python判断字符串是否是数字字母

    str.isnumeric(): True if 只包含数字:otherwise False.注意:此函数只能用于unicode stringstr.isdigit(): True if 只包含数字: ...

最新文章

  1. 基于libsvm的中文文本分类原型
  2. Oren NayarModel
  3. 大话设计模式—观察者模式
  4. c++显式加载dll并使用DLL的类
  5. Win10自带虚拟机管理器HyperV安装CentOS7
  6. golang cover协程异常
  7. 隐藏WIN10资源管理器中的3D对象文件夹
  8. java 8 64位官方下载_Java 8下载 Java 8.0U181官方正式版(32位/64位) 下载-脚本之家
  9. Flowplayer简单酷炫的视频播放器
  10. 在Mac和PC之间共享鼠标键盘(拥有多台电脑者必看)
  11. 微型计算机原理与应用第三版王克义编著
  12. opencore amr android,苹果手机amr文件用什么打开,opencore框架进行语音
  13. vue页面导出Word文档(含图片)
  14. 设想一种防U盘病毒的方法,不知道是否管用
  15. 网络安全——常见的几种WEB攻击:
  16. 累加器实验总结计算机组成,计算机组成原理累加器实验报告
  17. 苏宁易购开放平台_发力内循环,苏宁易购开放平台商品交易规模大增56.83%
  18. 追求自由的穷游网---十年一剑
  19. UT、IT、ST、UAT
  20. 帝国cms模板仿百度贴吧

热门文章

  1. flask-socketio
  2. DDay.iCal - an iCalendar class library
  3. 基于JavaWeb的党员管理系统
  4. TDD测试驱动开发一
  5. 计算机基础软件有哪些,Word有哪些自动工具?_计算机办公软件基础
  6. mysql xp_【Mysql5.5 XP系统下载】mysql XP系统安装图解
  7. aspen中再沸器模拟_【单元操作001】再沸器第一波·Aspen Plus中的再沸器设置
  8. MHDD不识别被检测的硬盘解决方法   (BIOS)可识别
  9. 【五一创作】某头条参数破解并实现界面化搭建
  10. PHP-Opcache优化