Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 在没有十进制模块的情况下,浮点中是否可能有超过15个十进制数字?_Python_Floating Point_Precision_Floating Accuracy - Fatal编程技术网

Python 在没有十进制模块的情况下,浮点中是否可能有超过15个十进制数字?

Python 在没有十进制模块的情况下,浮点中是否可能有超过15个十进制数字?,python,floating-point,precision,floating-accuracy,Python,Floating Point,Precision,Floating Accuracy,对于一个项目,我想知道是否可以在浮点数中存储>15位 我有一个dict\u nums,它可以通过setter函数添加新的数字 例如: \u nums={ “phi”:21.61803398749894848204586834365638117720309179805762862135444862270526046281890244970720724894189911374758080753868917521266338622233536931793180060767263544383890890

对于一个项目,我想知道是否可以在
浮点数中存储>15位
我有一个dict
\u nums
,它可以通过setter函数添加新的数字

例如:

\u nums={
“phi”:21.6180339874989484820458683436563811772030917980576286213544486227052604628189024497072072489418991137475808075386891752126633862223353693179318006076726354438389089065938290563261319928290267880675208762501711696200322121626954626262626262629631361443189257870122034008588787445474464686868644494978254978987433944221254487706647809158846074998871240076521705751797883416625624940758906970400028121042762177111777805315317141011704666599146697987317613560067087
}
打印(_nums['phi'])#->~21.61803398749893,有时稍少或稍多

浮动精度是固定的。它们在物理上无法存储您试图塞进其中的数据量。您必须使用任意精度的数据类型<代码>十进制。十进制是其中之一,但根据您尝试执行的操作,可能还有其他更有用的模块。

我试图避免在代码中包含任何或至少不太多的外部模块。我已经能够将其限制为仅键入,我希望保持这种方式。@CATboardBETA:
decimal
typing
都是标准的库模块。使用它们不会给代码添加任何依赖项。我知道打字是这样的,但不知道十进制是这样的。同样要澄清的是,如果在我的函数输入中有
Union[float,SupportsFloat]
,它将支持十进制,对吗?@CATboardBETA:从技术上讲,但该注释表明您计划在输入上调用
float
,这将丢掉您想要的所有额外精度。实际上,我只需要执行
Union[float,decimal]
,因为我太蠢了,以前想不起来。