栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将不带字符串的浮点分解为尾数和底数为10的指数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将不带字符串的浮点分解为尾数和底数为10的指数

避免字符串转换的一种方法是使用Decimals实现方法:

from decimal import Decimaldef fexp(number):    (sign, digits, exponent) = Decimal(number).as_tuple()    return len(digits) + exponent - 1def fman(number):    return Decimal(number).scaleb(-fexp(number)).normalize()

请注意,使用浮点数时,不进行舍入就无法计算尾数和指数。原因是浮点数以2为基数存储。例如,存储的float值

154.3
154.30000000000001136868377216160297393798828125
。浮点数在控制台中以准确的数字显示,因为(在CPython中)浮点数在使用硬编码精度17进行序列化时总是四舍五入。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号