GVKun编程网logo

python浮点数(python浮点数保留两位小数)

12

对于python浮点数感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python浮点数保留两位小数,并为您提供关于61-python基础-python3-格式化浮点数方法-%e、%f、%g、P

对于python浮点数感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python浮点数保留两位小数,并为您提供关于61-python基础-python3-格式化浮点数方法-%e、%f、%g、Python 字符串 整数 浮点数、python 浮点数保留几位小数、Python 浮点数数据类型详解(float)[学习 Python 必备基础知识][看此一篇就够了]的有用信息。

本文目录一览:

python浮点数(python浮点数保留两位小数)

python浮点数(python浮点数保留两位小数)

我很困惑为什么在这种情况下python为什么要添加一些额外的十进制数,请帮助解释

>>> mylist = ["list item 1", 2, 3.14]>>> print mylist [''list item 1'', 2, 3.1400000000000001]

答案1

小编典典

浮点数是一个近似值,它们不能精确存储十进制数。因为它们试图仅用64位表示很大范围的数字,所以它们必须在某种程度上近似。

意识到这一点非常重要,因为它会导致一些怪异的副作用。例如,你可能会非常合理认为,十批的总和0.11.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

或许正如奇怪的是,人们可能会认为,对于所有nn + 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

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 字符串 整数 浮点数

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 浮点数保留几位小数

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 必备基础知识][看此一篇就够了]

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 必备基础知识][看此一篇就够了]的相关信息,请在本站寻找。

本文标签: