pythondecimal转float的简单介绍
python分式怎么表示
Fraction函数是python中实现分数的一个模块(module),模块是由别人写的,并且可以被拿来直接使用的代码程序,包括类、函数以及标签的定义,是python标准函数库的一部分。使用是必须先插入模块。
from fractions import Fraction #插入模块
f =Fraction(1,2) #创建Fraction 类,并初始化为1/2
f #输出分数类对象Fraction(1, 2)
输入分数时,Fraction开头字母必须大写,否则会报错。我们对分数进行运算。
Fraction(2,8)+1+1.5
2.75
运算中如果出现float数据类型,最终的结果将是float类型数据。如果运算式中只有integer类型和fraction类型,输出结果将死fraction类型。
Fraction(2,8)+Fraction(2,5)+3
Fraction(73, 20)
Fraction()方法,非常有意思,可以直接接收分数字符串变成输入。注意输入的分数要加引号。
a = Fraction('1/5')
a
Fraction(1, 5)
直接输入小数,Fraction方法直接把小数变成分数。
from decimal import Decimal
Fraction(1.1)
Fraction(11, 10)
把字符串变成小数,需要用到decimal类,然后把小数变成分数。
from decimal import Decimal
Fraction(Decimal('1.1'))
Fraction(11, 10)
先把1.1字符串变成小数,然后在变成分数。
扩展:
Python: 分数运算
fractions 模块可以被用来执行包含分数的数学运算
from fractions import Fraction
a = Fraction(5, 4)
b = Fraction(7, 16)
print(a + b)
27/16
print(a * b)
35/64
# Getting numerator/denominator
c = a * b
c.nu
python输出怎么保留两位小数
python输出保留两位小数的四种方法:
a = 5.5461
方法一:round(a,2)
方法二:float('%.2f' % a)
相关推荐:《Python视频教程》
方法三:‘%.2’ %a
方法四:
from decimal import Decimal
Decimal('5.026').quantize(Decimal('0.00'))
当需要输出的结果要求有两位小数的时候,字符串形式的:'%.2f' % a 方式最好,其次用Decimal。
需要注意的:
1. 可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。
2. Decimal还可以用来限定数据的总位数。以上就是小编分享的关于python输出怎么保留两位小数的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
Python浮点数运算问题!!
首先你要了解from import 和 import 的 区别
让我们假设 a模块里面有b函数
from a import b
调用的时候自己用b函数即可
如果用 import a
调用的时候要 a.b()
以你的问题为例吧
import decimal
print decimal.Decimal(1)/decimal.Decimal(7)
另外写一个代码文件
from decimal import Decimal
print Decimal(1)/Decimal(7)
看看是不是正确的
python浮点数精度问题
原因如下:
出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。
比如说: 0.1是十进制,转化为二进制后它是个无限循环的数:
0.00011001100110011001100110011001100110011001100110011001100
而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到的是0.1,但在电脑上实际保存的已不是精确的0.1,参与运算后,也就有可能点误差。
------------------------------------------------------------------------------------------------------------------------------------
[Python3]计算高精确度的浮点数方法
decimal 模块的"getcontext"和"Decimal"方法
getcontext().prec = 2 #设置精度
------------------------------------------------------------------------------------------------------------------------------------
decimal模块中,可以通过整数,字符串或原则构建decimal.Decimal对象。如果是浮点数,特别注意因为浮点数本身存在误差,需要先将浮点数转化为字符串。
当然精度提升的同时,肯定带来的是性能的损失。在对数据要求特别精确的场合(例如财务结算),这些性能的损失是值得的。但是如果是大规模的科学计算,就需要考虑运行效率了。毕竟原生的float比Decimal对象肯定是要快很多的。
-------------------------------------------------------------------------------------------------------------------------------
浮点数和整数的比较
值相等,地址不同
python如何精确四舍五入
float('{:.2f}'.format(price_t))
这样只是取两位小数并没有四舍五入
四舍五入有一个专门的函数round,下面是正确的用法
round(float(price_t), 2)