对于python浮点数感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python浮点数保留两位小数,并为您提供关于61-python基础-python3-格式化浮点数方法-%e、%f、%g、P
对于python浮点数感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python浮点数保留两位小数,并为您提供关于61-python基础-python3-格式化浮点数方法-%e、%f、%g、Python 字符串 整数 浮点数、python 浮点数保留几位小数、Python 浮点数数据类型详解(float)[学习 Python 必备基础知识][看此一篇就够了]的有用信息。
本文目录一览:- python浮点数(python浮点数保留两位小数)
- 61-python基础-python3-格式化浮点数方法-%e、%f、%g
- Python 字符串 整数 浮点数
- python 浮点数保留几位小数
- Python 浮点数数据类型详解(float)[学习 Python 必备基础知识][看此一篇就够了]
python浮点数(python浮点数保留两位小数)
我很困惑为什么在这种情况下python为什么要添加一些额外的十进制数,请帮助解释
>>> mylist = ["list item 1", 2, 3.14]>>> print mylist [''list item 1'', 2, 3.1400000000000001]
答案1
小编典典浮点数是一个近似值,它们不能精确存储十进制数。因为它们试图仅用64位表示很大范围的数字,所以它们必须在某种程度上近似。
意识到这一点非常重要,因为它会导致一些怪异的副作用。例如,你可能会非常合理认为,十批的总和0.1
会1.0
。尽管这似乎合乎逻辑,但在浮点数方面也是错误的:
>>> f = 0.0>>> for _ in range (10):... f += 0.1...>>> print f == 1.0False>>> f0.99999999999999989>>> str(f)1.0
您可能会认为n / m * m == n
。浮点世界再次不同意:
>>> (1.0 / 103.0) * 103.00.99999999999999989
或许正如奇怪的是,人们可能会认为,对于所有n
,n + 1 != n
。在浮点土地上,数字就是这样的:
>>> 10.0**2009.9999999999999997e+199>>> 10.0**200 == 10.0**200 + 1True# How much do we have to add to 10.0**200 before its # floating point representation changes?>>> 10.0**200 == 10.0**200 + 10.0**183True>>> 10.0**200 == 10.0**200 + 10.0**184False
请参阅每个计算机科学家应该了解的有关浮点数的内容,以获取有关这些问题的出色摘要。
如果需要精确的十进制表示形式,请查看十进制模块,该模块自2.4起成为python标准库的一部分。它允许您指定有效数字的数量。缺点是,它比浮点运算要慢得多,因为浮点运算是在硬件中实现的,而十进制运算纯粹是在软件中发生的。它也有其自身的不精确性问题,但是如果您需要精确表示十进制数字(例如,对于金融应用程序),则是理想选择。
例如:
>>> 3.143.1400000000000001>>> import decimal>>> decimal.Decimal(''3.14'')>>> print decimal.Decimal(''3.14'')3.14# change the precision:>>> decimal.getcontext().prec = 6>>> decimal.Decimal(1) / decimal.Decimal(7)Decimal(''0.142857'')>>> decimal.getcontext().prec = 28>>> decimal.Decimal(1) / decimal.Decimal(7)Decimal(''0.1428571428571428571428571429'')
61-python基础-python3-格式化浮点数方法-%e、%f、%g
1-%e是用科学记数法计数;
%f是按指定精确格式化浮点数(默认保留6位);
%g是根据数值的大小采用e或%f。

2-%f可以按长度和精度格式化浮点数,如%a.bf,a表示浮点数的长度,b表示浮点数小数点后面的精度。
(1)当%f时表示原值,默认保留小数点后6位数。
(2)%a.bf,a表示浮点数的长度,b表示浮点数小数点后面的精度.
<1>长度小于浮点数长度,按原值输出,小数四舍五入保留六位。
<2>长度大于浮点数长度,左侧空格补齐。
<3>长度为5,小数精度为3位。
<4>长度为12,小数精度为5位,不足位使用空格在左侧填充。
Python 字符串 整数 浮点数
• 几个函数:
str() : 将一个整数或者浮点数变成字符串
int() : 将一个浮点数或一个字符串变成整数
float : 将一个整数或者字符串变成一个浮点型数据
• 整数的运算永远是精确的,而浮点数的运算可能会有四舍五入的误差
• len() : 可以获取字符串的个数,整数和浮点数没有这函数
• type() : 可以查看一个数据或者变量的类型
有有两点需要注意:
第一点:
eg :
a = input(''请输入一个数字'')
其实 a 的类型是字符串类型,如果直接执行 print(a + 3) 会报TypeError:must be str,not int
第二点:
eg:
a = 3;
print(''有''+a+''个苹果'')
同样会报TypeError:must be str,not int ,
因为这里的 a 是int型数据,也就是说,整数和字符串,用 + 号是连接不起来的.
python 浮点数保留几位小数
In [1]: a = 5.026
In [2]: b = 5.000
In [3]: round(a,2)
Out[3]: 5.03
In [4]: round(b,2)
Out[4]: 5.0
In [5]: ''%.2f'' % a
Out[5]: ''5.03''
In [6]: ''%.2f'' % b
Out[6]: ''5.00''
In [7]: float(''%.2f'' % a)
Out[7]: 5.03
In [8]: float(''%.2f'' % b)
Out[8]: 5.0
Python 浮点数数据类型详解(float)[学习 Python 必备基础知识][看此一篇就够了]
您的 “关注” 和 “点赞”,是信任,是认可,是支持,是动力......
如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。
- 1 Python 浮点数数据类型概述
- 2 小数的表示形式
- 2.1 十进制表示形式
- 2.2 指数表示形式
- 2.2.1 指数表示形式概述
- 2.2.2 注意事项
- 3 相关函数 float ()
- 4 文章其他地址
- 4.1 微信公众号:码农阿杰
- 4.2 CSDN 博客
- 5 参考资料
- 5.1 Python 3.8.2 documentation
1 Python 浮点数数据类型概述
浮点数数据类型,可以简称为浮点类型。
小数通常以浮点数的形式存储,在 Python 中用 float
表示。
可以理解为浮点数是用来描述小数的。
浮点数通常使用 C 中的 double 来实现。
Python 中只有一种小数类型,就是 float。
2 小数的表示形式
2.1 十进制表示形式
我们平时看到的小数形式,必须包含一个小数点。如下所示:
num_float = 22.1
num2_float = 35.8
num3_float = 22.0
2.2 指数表示形式
2.2.1 指数表示形式概述
Python 小数的指数表示形式,如下所示:
mEe 或 mee :: Mantissa x Base^Exponent
说明:
::
表示等价于;- m 为尾数(Mantissa)部分,是一个十进制数;
- e (最后那个 e) 为指数(Exponent)部分,是一个十进制整数;
- E 或 e (中间的 E 或 e)是固定的字符,可以是大写的或者小写的,用于分割尾数部分和指数部分。整个表达式等价于 a×10n。
- Base 为基,Base 等于 10。
实例如下所示:
22.1E1 = 22.1 x 10^1 # 其中 22.1 是尾数,1 是指数。
44E-2 = 44 x 10^-2 # 44 是尾数,-2 是指数
2.2.2 注意事项
只要写成指数的形式,就是小数。
即使最终值看起来像一个整数。如下所示:
>>> type(44E2)
<class ''float''>
3 相关函数 float ()
返回从数字或字符串 x 生成的浮点数。
class float([x])
- x 如果是字符串,则它必须是只包含十进制数字的字符串,字符串前面可以有符号(
+
或-
),之前也可以有空格。 - x 也可以是 NaN(非数字)、正负无穷大的字符串。
- x 如果是整数或浮点数,则返回具有相同值(在 Python 浮点精度范围内)的浮点数。如果实参在 Python 浮点精度范围外,则会触发
OverflowError
。 - x 如果没有实参,则返回
0.0
。
实例如下所示:
例一,
result1 = float(''23'')
print(''result1 = '', result1)
result2 = float(''+23'') # 字符串前可以有 + 符号,不影响结果
print(''result2 = '', result2)
result3 = float(''-23'') # 字符串前可以有 - 符号,影响结果
print(''result3 = '', result3)
result4 = float('' 23'') # 字符串前可以有空格
print(''result4 = '', result4)
运行结果:
result1 = 23.0
result2 = 23.0
result3 = -23.0
result4 = 23.0
例二,
result5 = float(''NaN'') # 实参也可以是非数字 NaN
print(''result5 = '', result5)
运行结果:
result5 = nan
例三,
result6 = float() # 没有实参
print(''result6 = '', result6)
运行结果:
result6 = 0.0
4 文章其他地址
4.1 微信公众号:码农阿杰
4.2 CSDN 博客
5 参考资料
5.1 Python 3.8.2 documentation
关于python浮点数和python浮点数保留两位小数的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于61-python基础-python3-格式化浮点数方法-%e、%f、%g、Python 字符串 整数 浮点数、python 浮点数保留几位小数、Python 浮点数数据类型详解(float)[学习 Python 必备基础知识][看此一篇就够了]的相关信息,请在本站寻找。
本文标签: