python浮点数转科学计数_python – 将float转换为字符串没有科学记数法和假精度...
不幸的是,似乎甚至没有浮动.__格式的新式格式支持这个。 float的默认格式与repr相同;和f标志默认有6个小数位数:
>>> format(0.0000000005, 'f')
'0.000000'
然而,有一个hack获得所需的结果 – 不是最快的,但相对简单:
>首先使用str()或repr()将float转换为字符串,
>然后从该字符串创建一个新的Decimal实例。
> Decimal .__ format__支持f标志,它给出所需的结果,并且与float不同,它打印实际精度而不是默认精度。
因此我们可以创建一个简单的效用函数float_to_str:
import decimal
# create a new context for this task
ctx = decimal.Context()
# 20 digits should be enough for everyone :D
ctx.prec = 20
def float_to_str(f):
"""
Convert the given float to a string,
without resorting to scientific notation
"""
d1 = ctx.create_decimal(repr(f))
return format(d1, 'f')
必须小心不要使用全局十进制上下文,因此为此函数构造一个新的上下文。这是最快的方式;另一种方法是使用decimal.local_context,但它会更慢,为每个转换创建一个新的线程本地上下文和上下文管理器。
>>> float_to_str(0.1)
'0.1'
>>> float_to_str(0.00000005)
'0.00000005'
>>> float_to_str(420000000000000000.0)
'420000000000000000'
>>> float_to_str(0.000000000123123123123123123123)
'0.00000000012312312312312313'
最后一个结果在最后一位数字四舍五入
正如@Karin所指出的,float_to_str(420000000000000000.0)并不与预期的格式严格匹配;它返回420000000000000000没有尾.0。
python浮点数转科学计数_python – 将float转换为字符串没有科学记数法和假精度...相关推荐
- python怎么用科学计数法输出_python 输出数字,如何不以科学计数法输出?
概述定义一个2113变量,用于记录次数,然5261后这个次数没输出一个4102数自己加1,然后处理这个数,取1653整数,并且再次归零.代码详解使用循环输出列表,利用 计数器控制输出数量,当输出到第十 ...
- Python不使用科学计数法输出数据的实现方法
文章目录 前言 一.背景介绍 二.例子详解 1.例1 以常规形式输出: 2.例2 以科学计数法形式输出: 总结 前言 本文主要介绍在利用Python进行科学计算的时候,怎么让计算出来的数据不以科学计数 ...
- python中的科学计数法表示
在python中如何使用科学计数法对我们想要定义的变量进行赋值呢?请看以下代码: # -*- coding:utf-8 -*- """ author: 15025 tim ...
- Python 多位数字写入CSV文件,避免科学计数法显示,超长数字,超大数字,精度保留
问题:多位数字直接写入CSV文件后,发现以下问题 1.数字位数过多,excel打开显示科学计数法 2.即使excel单元格格式为数字,发现最后几位被四舍五入,精度丢失 解决思路: 解决办法:数字改成字 ...
- python公共基础知识整理_python基础知识整理——字符串
1.字符串的基本操作 所有标准的序列操作(索引.分片.乘法.判断成员的资格.求长度.取最大值和最小值)都适用于字符串. Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引 ...
- PHP把科学计数格式转化为数字字符串,PHP用字段varchar类型进行比较排序
前言:在写API接口的时候,小游戏前端传过来的数据是科学计数法字符格式的,如1.2345678987654321e+30,此时后台处理得到数据需要进行比较排序. 1.强制性的用字段为varchar类型 ...
- JavaScript中科学计数法转化为数值字符串形式
原文地址:https://www.css88.com/archives/9318 (受益匪浅) JavaScript 中经常会碰到数值计算问题,偶尔会在不经意间报一个不是bug的bug.今天来说说一个 ...
- python浮点数占多少字节_Python的浮点数损失精度问题
原博文 2018-04-20 22:35 − 本篇讨论的现象可以从下面这段脚本体现出来:>>> x = 0.0 >>> for i in range(10): x ...
- python浮点数的表示方法_python中的浮点数range方法
我们知道python中有个range函数用来产生一个范围内的数字数组,但是浮点数没有,我们来定义一个 #python中的range函数支持步进,如下: >>> print range ...
- python 不以科学计数法输出
其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定
最新文章
- FPGA开发要懂得使用硬件分析仪调试——ILA
- pyghon list指定位置插入字符的方法
- C++友元函数和友元类(二)
- dcdc模块降额设计_模块电源应用设计的可靠性和注意事项
- CV之NS之VGG16:基于预训练模型VGG16训练COCO的train2014数据集实现训练《神奈川冲浪里》风格配置yml文件
- laravel 安装配置前准备
- [剑指offer]面试题37:两个链表的第一个公共结点
- linux服务器非root用户安装Anaconda,并配置tensorflow/pytorch
- Hie with the Pie(poj3311)
- docker 打包新镜像原有配置丢失_Docker简介与安装
- powershell / ps脚本ps1中.exe(可执行文件)没反应
- 益阳计算机应用专业推荐一下,益阳职业技术学院10大好专业推荐
- mysql表的默认所有者_MySQL数据库基本管理-001
- 角色扮演RPG游戏项目
- React脚手架配置代理解决跨域
- 没有公网IP?快解析实现内网穿透
- php计算器按钮功能,PHP实现的简单在线计算器功能示例
- 计算机按键 shift的作用,电脑shift键的十一个妙用
- android不能启动rom服务,基于uniapp开发的apk不能正常在android10上启动运行
- 什么是集群?集群分为哪几类?
热门文章
- sdut3138: N!(计算n!中结尾零的个数)
- Understand Rails Authenticity Token
- JQuery序列化表单serialize() 以及 serializeArray()
- YouCompleteMe自动补全的安装配置与使用
- “Hello World!”团队第五周第五次会议
- 黑马程序员_MapK,V 映射关系 Map.Entry
- async和await浅析
- Firefox中的document.all的替代方案-From EasyCluster support Firefox
- 拓端tecdat|R语言进行数据结构化转换:Box-Cox变换、“凸规则”变换方法
- (4) numpy.isnan() 用法