因此,我决定尝试编写一些python脚本来解决我的问题,从而解决物理作业。我遇到的一个问题是,重要的数字似乎并不总是正确地出现。例如,这可以正确处理重要数字:
from decimal import Decimal
>>> Decimal('1.0') + Decimal('2.0')
Decimal("3.0")
但这不是:
>>> Decimal('1.00') / Decimal('3.00')
Decimal("0.3333333333333333333333333333")
有两个问题:
将小数位工作精度更改为2位 不是 一个好主意,除非您绝对只打算执行一个操作。
您应始终以比重要性水平更高的精度执行计算,并且仅舍入最终结果。如果执行长序列的计算并在每一步四舍五入到有效位数,则会累积错误。十进制模块不知道任何特定的操作是长序列中的一个还是最终结果,因此它假定它的舍入不应超过必要的范围。理想情况下,它将使用无限精度,但这太昂贵了,因此Python开发人员只能使用28位数字。
获得最终结果后,可能需要量化:
>>>(Decimal('1.00')/ Decimal('3.00'))。quantize(Decimal(“ 0.001”))
小数(“ 0.333”)
您必须手动跟踪重要性。如果要进行自动重要性跟踪,则应使用间隔算法。有一些适用于Python的库,包括pyinterval和mpmath(支持任意精度)。用十进制库实现区间算术也很简单,因为它支持定向舍入。
您可能还需要阅读小数算法常见问题解答:小数算法是“重要性”算术吗?
我试图保存熊猫数据框的内容到Excel文件在windows/azure数据库 df=pd。数据帧({'Data':[10,20,30,20,15,30,45]}) 作者=pd.ExcelWriter('pandas_simple.xlsx',引擎='xlsxWriter') df。到excel(编写器,工作表\u name='Sheet1') 作家保存() 错误 ModuleNotFoundErr
试图使一个chrome扩展刮一个网站,但它总是在内容完全加载之前(在manifest.json的文档读取后尝试) 每次有人叫我: 还尝试:
我不是本地JAVA程序员。我正在为web服务API创建一个客户端。API基本上需要一个数组参数。 我正在解析一个XML文件,创建记录,然后使用此API进行批量插入。 问题是这个API一次只能插入200条记录,这意味着我的数组在调用时只能有200条或更少的记录。 由于我不知道预先有多少条记录,所以我将我的记录存储在ArrayList中,然后使用将其转换为Array。ToArray() 现在,由于AP
问题内容: 我花了一些时间想知道是否有可能编写一个guice模块,该模块本身使用类型T进行参数化,并使用其type参数指定绑定。 像在此示例(不起作用)中那样: 我尝试了不同的方法,试图将T作为类/ TypeLiteral的实例传递给MyModule,但没有一个起作用。帮助表示赞赏。 问候,zukasz Osipiuk 问题答案: 为此,您将必须使用从头开始构建每个TypeLiteral 。您可以
我正在做一些非常简单的测试,关于使用csvtojson节点模块将csv文件读取为json格式,我使用下面的代码作为模板 我主要关注的是 //异步/等待使用 const jsonArray=wait csv()。fromFile(csvFilePath); 代码的部分。这是我的密码 无论我用哪种方法尝试,我总是会出现以下错误 或 如果我把代码转换成顶级的 我不明白这为什么不起作用。 编辑:我做了@t
问题内容: 我试图弄清楚如何在C扩展模块中具有一个函数的变量(也许有很多)参数。 阅读有关PyArg_ParseTuple的内容,您似乎必须知道要接受多少,一些强制性的和一些可选的,但都具有自己的变量。我希望PyArg_UnpackTuple能够处理此问题,但是当我尝试以似乎错误的方式使用它时,它似乎只会给我总线错误。 举个例子,将以下可能要放入扩展模块中的python代码(用C语言编写)。 这可