python转成数字
① python如何将字符转换为数字
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
```
print(eval('2.00+1'))#对字符串表达式直接运算
print(type(eval('2.00+1')))#得出浮点数的结果
print(eval('2.00'))#对单个字符串运算
print(type(eval('2.00')))#表现为直接转化为浮点数,我们要的就是她,将文本型数字,转化为数值型数字
```
② python怎么把字符串变成数字格式化
1. python 字符与数字如何转换
python中字符与数字相互转换用chr()即可。
python中的字符数字之间的转换函数
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
plex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
chr(65)='A'
ord('A')=65
int('2')=2;
str(2)='2'
(2)python转成数字扩展阅读:
python数字转换为字符串主要包括两种形式:第一种是str(),将值转换为用户便于阅读的形式;另一种是repr(),将值转换为合法的python表达式。
>>> print repr("Hello, world!")
'Hello, world!'
>>> print repr(10000L)
10000L
>>> print str("Hello, world!")
Hello, world!
>>> print str(10000L)
2. python怎么实现字符串和数字的转换
#py3
from functools import rece
DIGITS={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
def char2num(s): #单个字符转数字
return DIGITS[s]
def str2int(s):#整数字串转化整数,不支持浮点数.浮点数得另写一个
if s[0]=='-': #要判断一下该数字有没有符号
return -rece(lambda x,y:10*x+y,map(char2num,s[1::])) #返回负数
else:
return rece(lambda x,y:10*x+y,map(char2num,s)) #返回正数
a='-123'
print(100+str2int(a))
3. 关于python的字符串格式化
在python中也有类似于c中的printf()的格式输出标记。
在python中格式化输出字符串使用的是%运算符,通用的形式为格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。
重点来看左边的部分。左边部分的最简单形式为:%cdoe其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用'%s'来标记。
比如:'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。
在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。
除了%s外,还有很多类似的code:整型数:%d无符号整型数:%u八进制:%o十六进制:%x %X浮点数:%f科学记数法: %e %E根据数值的不同自动选择%e或%f: %g根据数值的不同自动选择%E或%f: %G就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。如果要在”格式标记字符串“中输出%本身,可以用%%来表示。
上面说的只是格式标记的最简间的形式,来看复杂一点的:'%6.2f' % 1.235在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。还有更复杂的:'%06.2f' % 1.235在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。
这一行的输出为'001.24',可以看到小数也占用一位。类似于这里0这样的标记还有-、+。
其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。最后来看最复杂的形式:'%(name)s:%(score)06.1f' %{'score':9.5, 'name':'newsim'}这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。
前面的例子可以看到,”格式标记字符串“中标记的顺序和"要输出的值组"中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。
这行代码的输出为:'newsim:0009.5'。有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。
可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。
这是这本书到此为止看起来最复杂的内容。不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。
这里的%真有点除法的味道,怪不得设计者会选择用%这个除号。象C 中的sprintf函数一样,可以用“%”来格式化字符串Table 3.1. 字符串格式化代码格式 描述%% 百分号标记%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x 无符号整数(十六进制)%X 无符号整数(十六进制大写字符)%e 浮点数字(科学计数法)%E 浮点数字(科学计数法,用E代替e)%f 浮点数字(用小数点符号)%g 浮点数字(根据值的大小采用%e或%f)%G 浮点数字(类似于%g)%p 指针(用十六进制打印值的内存地址)%n 存储输出字符的数量放进参数列表的下一个变量中。
③ python把一个数字列表转化为一个数字
解决办法有三种:
1、用join()函数,但我发现使用join函数要求列表中的元素都是字符串,所以需要将列表中的元素都转换为字符串。
a = [1,2,3,4,5]
a = [str(i) for i in a]
b = int(''.join(a))
print(b)
2、用sum()函数求和,那就需要对每个元素的十分位和百分位或者千分位进行转换
a = [1,2,3,4,5]
a = [i *10**index for index,i in enumerate(a[::-1])]
b = sum(a)
print(b)
3、直接将列表转换为字符串,然后去除[],,另外还要去除空格
a = [1,2,3,4,5]
b = str(a).replace("[","").replace("]","").replace(",","").replace(" ","")
print(int(b))
(3)python转成数字扩展阅读
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
返回值:返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator字符串而生成的。
例子:
在本例中,将创建一个数组,然后把它的所有元素放入一个字符串:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join())
</script>
输出:
George,John,Thomas
④ python 怎么把字符串类型转换为数字
#coding:utf-8
deftranslate(st="你要转换的字符串"):
try:
num=int(st)
returnnum
except:
#print""%s"isnotaninteger."%st
pass
try:
num=float(st)
returnnum
except:
#print""%s"isnotafloat."%st
pass
try:
num=complex(st)
returnnum
except:
#print""%s"isnotafloat."%st
pass
returnst#返回原串表示转换失败
⑤ python怎么把字符串转换成数字
整数字符串转换为对应的整数
int('12')
小数字符串转换为对应小数
float('12.34')
数字转换为字符串
str(123.45)
ASCII码转换为相应字符
chr(97)
字符转换为响应ASCII码
ord('a')
⑥ python 字符与数字如何转换
一、python中字符串转换成数字
(1)import string
t='555'
ts=string.atoi(tt)
ts即为tt转换成的数字
转换为浮点数 string.atof(tt)
(2)直接int
int(tt)即可。
二、数字转换成字符串
tt=322
tem='%d' %tt
tem即为tt转换成的字符串
(6)python转成数字扩展阅读:
Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java.Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
⑦ python将八个0的字符串强制转成整型返回什么
python中强制将字符串转换为数字的方法:
1、python中可以使用int()函数将字符串转换为整型数字,int() 函数用于将一个字符串或数字转换为整型。
int() 方法的语法:class int(x, base=10)
参数
x -- 字符串或数字。
base -- 进制数,默认十进制。
返回值:返回整型数据。
示例:>>> s1 = '999'
>>> if s1.isdigit():
num1 = int(s1)
>>> type(num1)
>>> num1
999
2、使用float()函数将字符串转换为浮点数
float() 函数用于将整数和字符串转换成浮点数。
float()方法语法:class float([x])
参数
x -- 整数或字符串
返回值:返回浮点数。
示例:>>> s2 = '999.888'
>>> if s2.isdigit():
num2 = float(s2)
>>> type(num2)
Traceback (most recent call last):
File "", line 1, in
type(num2)
NameError: name 'num2' is not defined
>>>
>>> s2.isdigit()
False
>>> s2 = '999.888'
>>> num2 = float(s2)
>>> type(num2)
>>> num2
999.888
>>>