用于非常长的数字的python算法。

Arithmetics的Python项目详细描述


算术是一个python库,它允许对very长数字进行加、减和乘运算。

python(像许多编程语言一样)数学不好。它不能在内存中表示非常大的数字。它把小数点的精度四舍五入,好像没关系似的。例如,Python计算^ {Tt1} $次^ {TT2} $作为^ {TT3}$,这只是一个悲伤的近似。python认为,1 - 0.00000000000000001仍然等于1.0,这显然是错误的,并可能导致严重的错误。

算法库可以精确地对任意长度的数字进行加、减或乘运算。它不会遇到整数溢出或浮点舍入问题,因为它接受字符串格式的数字。它可以处理正数、负数和十进制数。分析库可以精确计算上述乘法:-539980584635519517644606174820023097370977572779217236866897631496501.40991196066825563084376519821275241099

用法

arithmetics.calculate(...)接受1个算术运算符(+-*)和2个字符串格式的数字,并将结果作为字符串返回:

from arithmetics import arithmetics

arithmetics.calculate(arithmetics.OPERAND_ADD, '123', '-456.789')
# returns '-333.789'
arithmetics.calculate(arithmetics.OPERAND_SUBTRACT, '-1.0000000000000000000000000000000000001', '0.0000000000000000000000000000000000002')
# returns '-0.9999999999999999999999999999999999999'
arithmetics.calculate(arithmetics.OPERAND_MULTIPLY, '31352725584.2464', '-4389.999945479936')
# returns '-137638463605489.0905724488802304'

如果…

  • 你用非常大的数字(如天体物理学)进行数学运算
  • 您不想丢失小数精度(例如金融应用程序)

快乐编码!

ozan eren bilgen

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?