Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何访问未存储在浮点值中的十进制数_Python_Numbers_Decimal - Fatal编程技术网

Python 如何访问未存储在浮点值中的十进制数

Python 如何访问未存储在浮点值中的十进制数,python,numbers,decimal,Python,Numbers,Decimal,如果我想访问数字1/919的第100位小数,有没有办法? 我知道浮点值只能存储到某些小数,所以我只能访问存储的小数,但如何访问未存储的小数你的直觉是正确的。Python将浮点值存储为64位浮点值,浮点值的小数位数为100。您必须使用十进制软件包,并将精度设置为所需的精度 导入十进制 #最多可计算120位小数 decimal.get_context().prec=120 结果=十进制。十进制(1)/十进制。十进制(919) 打印(结果) #从结果的字符串表示形式中提取任意数字 def get_十进

如果我想访问数字1/919的第100位小数,有没有办法?
我知道浮点值只能存储到某些小数,所以我只能访问存储的小数,但如何访问未存储的小数你的直觉是正确的。Python将浮点值存储为64位浮点值,浮点值的小数位数为100。您必须使用
十进制
软件包,并将精度设置为所需的精度

导入十进制
#最多可计算120位小数
decimal.get_context().prec=120
结果=十进制。十进制(1)/十进制。十进制(919)
打印(结果)
#从结果的字符串表示形式中提取任意数字
def get_十进制数字(数字,索引):
#查找小数点的起始位置
point=str(num).rfind('.'))
返回int(str(num)[索引+点+1])
#得到第100位小数
打印(获取十进制数字(结果,100))

所以如果我想说访问第一百万位,我可以这样做吗?这不会存储大量数据吗?如果更改精度,可以
decimal
使用了与IEEE 754相同的思想,即基数、符号和指数的浮点数,与IEEE 754不同,它们只支持任意精度。因此,要提取第n个数字,您仍然需要进行与
str()
运行相同的转换。