Python字符串转换成浮点数函数分享

利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

from functools import reduce

def str2float(s):

return reduce(lambda x,y:x+int2dec(y),map(str2int,s.split('.')))

def char2num(s):

return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]

def str2int(s):

return reduce(lambda x,y:x*10+y,map(char2num,s))

def intLen(i):

return len('%d'%i)

def int2dec(i):

return i/(10**intLen(i))

print(str2float('123.456'))

以上就是本代码的全部内容了,希望对大家学习Python能够有所帮助。

时间: 2015-07-23

本文实例讲述了Python中的浮点数原理与运算.分享给大家供大家参考,具体如下: 先看一个违反直觉的例子: >>> s = 0. >>> for i in range(10): s += .1 >>> s 0.9999999999999999 # 错误被累加 再看一个更为普遍,直接影响判断逻辑的例子: >>> from math import sqrt >>> a = sqrt(2) >>> a*a

前言 最近在使用Python的时候遇到浮点数运算,发现经常会碰到如下情况: 出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确. 比如说: 0.1是十进制,转化为二进制后它是个无限循环的数: 0.00011001100110011001100110011001100110011001100110011001100 而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到的是0.1,但在电脑上实际保存的已不是精确的0.1,参与运算后,也就有可能点误差,特

从文本文件中读入浮点数据,是最常见的任务之一,python没有scanf这样的输入函数,但我们可以利用正规表达式从读入的字符串中提取出浮点数 复制代码 代码如下: import refp = open('c:/1.txt', 'r')s = fp.readline()print(s)aList = re.findall('([-+]?\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?',s) #使用正规表达式搜索字符串print(aList)for ss in aList:

为什么说浮点数缺乏精确性? 在开始本文之前,让我们先来谈谈浮点数为什么缺乏精确性的问题,其实这不是Python的问题,而是实数的无限精度跟计算机的有限内存之间的矛盾. 举个例子,假如说我只能使用整数(即只精确到个位,计算机内的浮点数也只有有限精度,以C语言中的双精度浮点数double为例,精度为52个二进制位),要表示任意实数(无限精度)的时候我就只能通过舍入(rounding)来近似表示. 比如1.2我会表示成1,2.4表示成2,3.6表示成4. 所以呢? 在算1.2 - 1.2的时候,由于计

有时需要在JSON中使用浮点数,比如价格.坐标等信息.但python中的浮点数相当不准确, 例如下面的代码: 复制代码 代码如下: #!/usr/bin/env python import json as json data = [ 0.333, 0.999, 0.1 ]print json.dumps(data) 输出结果如下: 复制代码 代码如下: $ python floatjson.py[0.33300000000000002, 0.999, 0.10000000000000001] 能

本文实例讲述了Python双精度浮点数运算并分行显示操作.分享给大家供大家参考,具体如下: #coding=utf8 def doubleType(): ''''' Python中的浮点数是双精度浮点数,可以用十进制或科学计数法表示. 实际精度依赖于机器架构和创建Python解释器的编译器. 浮点数值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法). 在e和指数之间可以用正(+)或负(-)表示指数的正负(正数可以省略符号) ''' (one,two,three,four,fiv

用python和numpy处理数据次数比较多,写了几个小函数,可以方便地读写数据: # -*- coding: utf-8 -*- #---------------------------------------------------------------------- # FileName:gettxtdata.py #功能:读取字符串和文件中的数值数据(浮点数) #主要提供类似matlab中的dlmread和dlmwrite函数 #同时提供loadtxtdata和savetxtdata函

在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1.修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道的情况下才可以采用有效,而这种情况意味着被除数的值是写死的.固定的,在绝大多数的情况下是不可行的: 2.在进行除法运算前导入一个实除法的模块,即可在两个整数进行相除的时候得到浮点的结果; 复制代码 代码如下: from __future__ import di

在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值 解决方法: 1. 修改被除数的值为带小数点的形式即可得到浮点值 2.在文件头部引入 from __future__ import division 以上这篇Python解决两个整数相除只得到整数部分的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

在进行python数据分析的时候,首先要进行数据预处理. 有时候不得不处理一些非数值类别的数据,嗯, 今天要说的就是面对这些数据该如何处理. 目前了解到的大概有三种方法: 1,通过LabelEncoder来进行快速的转换: 2,通过mapping方式,将类别映射为数值.不过这种方法适用范围有限: 3,通过get_dummies方法来转换. import pandas as pd from io import StringIO csv_data = '''A,B,C,D 1,2,3,4 5,6,,

前言序锦 在编程中,经常要用到字符串的相互转换,现在在这里记录一下Python里面的字符串和整数以及浮点型数之间是如何进行相互转换的. int(str)函数将符合整数的规定的字符串转换成int型的 float(str)函数将符合浮点型的规定的字符串转换成float型的 str(num)将整数.浮点型转换成字符串型的 int(str)函数将符合整数的规定的字符串转换成int型的 num2 = "123"; num2 = int(num1); print("num2: %d&qu

前言 在 Python 中一切都是对象,毫无例外整数也是对象,对象之间比较是否相等可以用==,也可以用is. ==和is操作的区别是: is比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址. ==比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法. 清楚is和==的区别之后,对此也许你有可能会遇到下面的这些困惑,于是就有了这样一篇文章,试图把Python中一些隐晦的东西趴出来,希望对你有一定的帮助. 我们先来看两段代码: 片段一:

问题 大整数相乘 思路说明 对于大整数计算,一般都要用某种方法转化,否则会溢出.但是python无此担忧了. Python支持"无限精度"的整数,一般情况下不用考虑整数溢出的问题,而且Python Int类型与任意精度的Long整数类可以无缝转换,超过Int 范围的情况都将转换成Long类型. 例如: >>> 2899887676637907866*1788778992788348277389943 5187258157415700236034169791337062

复制代码 代码如下: ///计算两个整数的百分比值 function GetPercent(num, total) { num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00 + &qu

本文实例讲述了php计算两个整数的最大公约数常用算法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php //计时,返回秒 function  microtime_float () {     list( $usec ,  $sec ) =  explode ( " " ,  microtime ());     return ((float) $usec  + (float) $sec ); } /

本文实例讲述了python实现查找两个字符串中相同字符并输出的方法.分享给大家供大家参考.具体实现方法如下: seq1 = "spam" seq2 = "scam" res = [] for x in seq1: if x in seq2: res.append(x) print res 输出结果如下: ['s', 'a', 'm'] 希望本文所述对大家的Python程序设计有所帮助.

Python两个内置函数--locals 和globals 这两个函数主要提供,基于字典的访问局部和全局变量的方式. 在理解这两个函数时,首先来理解一下python中的名字空间概念.Python使用叫做名字空间的东西来记录变量的轨迹.名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值.实际上,名字空间可以象Python的字典一样进行访问 每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量.每个模块拥有它自已的名字空间,叫做全局名字空

python字符串转浮点数_Python字符串转换成浮点数函数分享相关推荐

  1. python矩阵变成图片_Python图片转换成矩阵,矩阵数据转换成图片

    # coding=gbk from PIL import Image import numpy as np # import scipy def loadImage(): # 读取图片 im = Im ...

  2. python 如何把字符串转换成浮点数

    如何把字符串型数字'123.456'转换成float型数据 直接自带float就行啦 test1 ="123.456"test2 = '12.304'test3 = '12.34' ...

  3. 【Python】利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

    微信公众号 题目来源:[廖雪峰的官方网站-map/reduce] 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: from functo ...

  4. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:

    题目:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: 来源:廖雪峰Python上的练习题 思路定位小数点,分割小数部分和整数部分,使用r ...

  5. 把字符串'123.456'转换成浮点数 123.456(廖雪峰,拓展)

    原题:利用 map 和 reduce 编写一个 str2float 函数,把字符串'123.456'转换成浮点数 123.456 这是我在学习python过程中写到的一个题,答案非原创 from fu ...

  6. 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456

    想转行做程序员,最近在看廖雪峰的python教程,年龄大了看算法很费劲,之前总是囫囵吞枣,急于求快最后啥都没学到,现在重新看一遍,刚刚把课后的作业想明白,跟其他人的答案比起来我的很拙劣,但是我依然很高 ...

  7. atof函数(把字符串转换成浮点数)

    atof(字符串) 1. 函数名: atof 功 能: 把字符串转换成浮点数 代码: #include<bits/stdc++.h> using namespace std; int ma ...

  8. c语言如何将字母转换成实数,c语言atof函数如何将字符串转换成浮点数实例

    c语言atof函数如何将字符串转换成浮点数实例?引入头文件:#include 定义atof函数:double atof(const char *nptr); atof函数使用介绍:atof()会扫描参 ...

  9. python字符串的美化_python字符串格式化

    Python的字符串格式化有两种方式:%格式符方式,format方式 %格式符 %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定 ...

最新文章

  1. mysql性能调优快捷键_mysql优化篇
  2. Python剑指offer:矩形覆盖问题
  3. ASP.NET实现微信功能(2)(服务号高级群发)
  4. 解决VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法
  5. matlab实现photoshop,photoshop图像滤镜——素描算法(含matlab代码)
  6. MySQL使用Navicat导出Excel时数字展示会变成科学计数法
  7. 雷电三接口有什么用_「滕·Gallery」我是如何用奥睿科雷电三硬盘盒来弥补之前的失误的? | 数字尾巴 分享美好数字生活...
  8. get和post用法和区别总结
  9. 智能客服在2022:从成本中心奔向价值中心
  10. The summary of Java
  11. 服务器开启虚拟控制台
  12. word文档图片画红线_在Word中巧妙绘制漂亮分割线的方法
  13. 北京住房公积金提取(取消)指南
  14. HPE升级Integrity服务器采用最新安腾引擎
  15. html怎么把字做成动画效果,利用纯CSS实现动态的文字效果实例
  16. nw.js node-webkit系列(22).nw执行过程及如何获取.nw真实路径
  17. 计算机科学与技术与会计专业,计算机科学与技术专业与会计专业,哪个好就业...
  18. 如何在微信公众号一键拨打电话
  19. 20210307 matlab画负频率波特图,负序
  20. win7使用android字体文件,字体在哪个文件夹里 win7怎么安装新字体(两种方式)

热门文章

  1. 获取java类中泛型的Class汇总
  2. 纯滞后系统的数字Smith预估控制-1
  3. Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
  4. TurboMail邮件系统Android版飞邮手机邮箱炫酷体验
  5. stats.norm.sf(x) 的功能
  6. 区块链共识机制与账本存储
  7. 《左耳听风》学习体验第一节
  8. SAP接口故障排除与外部断点调试 XI 代理
  9. windows10电脑修改物理mac地址两种方法
  10. 使用JSP+Servlet实现文件的上传下载上传