b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

thermodyna的个人空间

电脑杂谈  发布时间:2020-01-29 05:04:12  来源:网络整理

字符转十六进制_浮点数转换_字符串转浮点数

thermodyna的个人空间工作日志

正文

thermodyna发布于 2018/07/05 15:17

字数 648

字符转十六进制_浮点数转换_字符串转浮点数

阅读 47

由于输入是字符串,可直接利用str.index('.')找到小数点位置(若无小数点,返回值为-1, 则可以此为根据写个if子句跳过小数处理个别。整数的转化:使用变量从左到右依次读入两位数x,y, return:10*x+y小数的转换:和整数类似,只不过return: (x+y/10)/10故重点在于找到并剔除小数点,以小数点为界将字符串分为两块 int and fraction,整数部分写个小变量处理,小数部分写另一个小变量处理,最后整体返回时 return: int + fraction即可整数和小数都使用同样函数处理(即均采取10x+y模式)只不过对小数部分,由于我们即将通过s.index()找到了小数点位置,故直接用这个位置对字符串进行切片存至两个list中去(Int and Frac)字符串转浮点数,首先对两个list都运用map函数使用Int把字符串list转化为int list,之后对整数的list使用reduce(f,Int)字符串转浮点数,其中f即为原方法二中的转换函数(f(x,y) return 10x+y, 对于小数部分,我们实际上可以运用同样操作,即把它只是是整数处理,然后再把小数点移至最左端。怎样移到最左端呢?假设小数部分有n位,那么肯定只要除以10**n即可, 这个n往往就是Frac list的长度。则我们有:对小数部分reduce(f,Frac) //变成整数串

# -*- coding: utf-8 -*-
from functools import reduce
def str2float(s):
	def fn(x,y):
		return x*10+y
	boundary=s.index('.')
	Int = list(map(int,[x for x in s[:boundary]]))
	Frac = list(map(int,[x for x in s[boundary+1:]]))
	return reduce(fn,Int) + reduce(fn,Frac)/(10**len(Frac))
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
    print('测试成功!')
else:
    print('测试失败!')	

著作权归作者所有

字符串转浮点数_浮点数转换_字符转十六进制

博文 1

码字总数 648

作品 0

奥地利

字符转十六进制_字符串转浮点数_浮点数转换

关注私信提问

相关文章最新文章

.Net 避免 float 转 double 丢失精度的方法

第一部分:float 转 double 丢失精度 类型 精度 位宽 C# 后缀 可以表示的数值范围 .Net 类名 float 7 位 32bit F -3.4 × 10^38 ~ +3.4 × 10^38 System.Single double 15~16 位 64bit D ...

字符转十六进制_浮点数转换_字符串转浮点数

在PHP中常碰到的函数处理函数库(isset()、unset()、empty、is_array...

gettype: 取得变量的类别。 intval: 变量转成整数类型。 doubleval: 变量转成倍浮点数类型。 empty: 判断变量能否已配置。 isarray: 判断函数类别是否为变量种类。 isdouble: 判断变量类型是...

雍雍_yoyo

2013/05/06

Go 一些详细的实用 代码片段


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-138784-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...