python 输出数字,如何不以科学计数法输出?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 输出数字,如何不以科学计数法输出?相关的知识,希望对你有一定的参考价值。

概述

利用numpy设置输出选项即可

代码解析

1、未使用numpy设置:

import time        # time 时间类

print(time*time*1000)      #输出一个非常大的数字

#out:

6.30e1352

由此可以看到,默认输出是以科学计数方式输出

2、使用numpy设置print的输出选项:

import numpy as np

import time

np.set_printoptions(suppress=True)        #设置print选项的参数

print(time*time*1000)

#out

6301829436782946134

拓展内容

numpy

NumPy是Python语言的一个扩充程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的前身Numeric最早是由Jim Hugunin与其它协作者共同开发,2005年,Travis Oliphant在Numeric中结合了另一个同性质的程序库Numarray的特色,并加入了其它扩展而开发了NumPy。NumPy为开放源代码并且由许多协作者共同维护开发。

NumPy引用CPython(一个使用字节码的解释器),而在这个Python实现解释器上所写的数学算法代码通常远比编译过的相同代码要来得慢。为了解决这个难题,NumPy引入了多维数组以及可以直接有效率地操作多维数组的函数与运算符。因此在NumPy上只要能被表示为针对数组或矩阵运算的算法,其运行效率几乎都可以与编译过的等效C语言代码一样快。

参考技术A

1、可以用python的numpy包

NumPy是使用Python进行科学计算的基础包。它包含其他内容:

    一个强大的N维数组对象

    复杂的(广播)功能

    用于集成C / C ++和Fortran代码的工具

    有用的线性代数,傅里叶变换和随机数功能

    除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使NumPy能够无缝快速地与各种数据库集成。

2、安装numpy

pip install numpy

3、代码如下:

import numpy

import time

numpy.set_printoptions(suppress=True)

print(time.time()*1000)

4、效果

参考技术B ':g'.format(num)

用这个,它会自动判断是否以科学计数法输出

':E'.format(num) #以科学计数法输出

参考技术C

跑一下就明白了

import time
a = time.time()*1000
print a
print type(a)
print int(a)
print long(a)
a = 8889785324231242352352343241232131231314353244234432523634513123243243634745734531231432436345
print type(a)

参考技术D 如果只是显示这个数值 b = '%.9e'%a 足够了

就算是string类型 你还可以float(b) 在得到float

这样的话,得到的就不是用科学计数法表示的数了

Java导出csv数字如何不以科学计数显示,不能改变原来的值

如生成csv文件后,身份证号不以科学计数法显示,并且身份证号前不加任何字符显示原来的值,\t不行,拷贝到记事本后会多出双引号和空格

参考技术A 可能有两方面的问题。
1。Java导出数据的时候,导出的是什么类型的数字,如果在处理过程中被编成了字符格式,估计就比较麻烦。如果有,要保证输出的时候是double或者其他类型。
2。Excel也会自动处理数字,你把相应列的单元格格式改变成普通,或者字符等,不让它自己变成科学计数法

以上是关于python 输出数字,如何不以科学计数法输出?的主要内容,如果未能解决你的问题,请参考以下文章

Java导出csv数字如何不以科学计数显示,不能改变原来的值

如何使java中double类型不以科学计数法表示

如何使java中double类型不以科学计数法表示

科学记数法和从 DB 输出到 Python 中 JSON 的转换

如何使java中double类型不以科学计数法表示

Java导出csv数字如何不以科学计数显示,不能改变原来的值,如不能在前面加'或者=""