草庐IT

floating-point-conversion

全部标签

Python:float 的子类可以在其构造函数中使用额外的参数吗?

在Python3.4中,我想创建一个float的子类——它可以像float一样用于数学和bool运算,但还有其他的自定义功能,并且可以在初始化时接收控制该功能的参数。(具体来说,我想要一个自定义的__str__和一个在该方法中使用的参数。)但是,我似乎无法让float的子类具有功能性的双参数构造函数。为什么?这仅仅是对扩展内置类型的限制吗?例子:classFoo(float):def__init__(self,value,extra):super().__init__(value)self.extra=extra现在,如果我尝试Foo(1,2),我会得到:TypeError:float

python float

这个问题在这里已经有了答案:Isfloatingpointmathbroken?(31个答案)关闭3年前。我有点困惑为什么python在这种情况下会添加一些额外的十进制数,请帮忙解释>>>mylist=["listitem1",2,3.14]>>>printmylist['listitem1',2,3.1400000000000001]

带有 float 的字符串格式化的 Python 精度

我不明白为什么在格式化包含浮点值的字符串时,最后一个字符串的精度没有得到遵守。即:'%f'%38.2551994324返回:'38.255199'(丢失了4个标志!)目前我解决了指定:'%.10f'%38.2551994324它按预期返回“38.2551994324”……但我真的应该手动强制我想要多少个小数吗?有没有办法简单地告诉python保留所有这些?!(例如,如果我不知道我的号码有多少位小数,我该怎么办?) 最佳答案 但我真的应该手动强制我想要多少个小数吗?是的。即使指定了10位十进制数字,您仍然不会打印所有这些数字。无论如何

python - 如何将字符串转换为 int 或优先于 int 的 float ?

当我想要这个时我找不到另一个答案,所以我想我会为其他人发布我自己的解决方案,如果我做错了什么也会得到更正。我必须制作一个自动配置文件解析器,我更喜欢尽可能将数字设为int,否则设为float。通常的try/except转换本身不起作用,因为任何float都会被强制转换为int。澄清一下,正如有人问的那样,这种情况基本上是按照编写配置文件数据的人的意图转换数字。所以任何带小数的东西都可能是一个float。此外,我认为由于float的性质,float对于某些运算符(例如==、)可能是危险的,并且int会在必要时转换为float。因此,我更喜欢数字尽可能留在int中。没什么大不了的,只是我自

python - 强制 python 不以标准形式/科学计数法/指数形式输出 float

这个问题在这里已经有了答案:Howtosuppressscientificnotationwhenprintingfloatvalues?(16个答案)关闭3年前。所以这很好用:>>>float(1.0e-1)0.10000000000000001但是当处理更大的数字时,它不会打印:>>>float(1.0e-9)1.0000000000000001e-09有没有办法强制执行此操作?也许使用numpy或其他东西。

python - 类型错误 : 'float' object is not callable

我正在尝试在以下等式中使用数组中的值:forxinrange(len(prof)):PB=2.25*(1-math.pow(math.e,(-3.7(prof[x])/2.25)))*(math.e,(0/2.25)))当我运行时,我收到以下错误:Traceback(mostrecentcalllast):File"C:/Users/cwpapine/Desktop/1mPro_Chlavg",line240,inPB=float(2.25*(1-math.pow(math.e,(-3.7(prof[x])/2.25)))*(math.e,(0/2.25)))TypeError:'fl

python - Flask 路由在 URL 中给出 404 float

我的Flask应用程序的server.py中有以下路由定义:@app.route('/nearby//')defnearby(lat,long):fortruckindb.trucks.find({'loc':{'$near':[lat,long]}}).limit(5):iftruck.has_key('loc'):deltruck['loc']returnjson.dumps(trucks)但是当我访问http://localhost:5000/nearby/37.7909470419234/-122.398633589404时,我得到了404。其他路线工作正常,所以这是这个路线的

Python:将 setup.py "scripts="迁移到 entry_points

我想使用其他人的python实用程序,foobartools,它的native环境是linux。Foobartools是纯python,因此没有理由不能在我所在的Windows上使用它。在他们的setup.py中,他们使用旧式scripts=['bin/foobar'],。运行pipinstall-eb:\code\foobar在%pythonhome%\Scripts中创建一个名为foobar的文件,但Windows不会即使Scripts在PATH中,也不知道它。要使用它,我需要创建一个@python%pythonhome%\scripts\foobar批处理文件。这可行但不是最佳的

type-conversion - 将科学计数法中的数字转换为 int

有人可以解释为什么我不能使用int()将以字符串科学计数法表示的整数转换为pythonint吗?例如这不起作用:printint('1e1')但是这样做:printint(float('1e1'))printint(1e1)#Works为什么int不能将字符串识别为整数?确定它就像检查指数的符号一样简单吗? 最佳答案 在幕后,科学数字表示法在内部始终表示为float。原因是变化的数字范围作为整数仅映射到固定值范围,比方说2^32值。科学表示类似于具有显着性和指数的float表示。您可以在https://en.wikipedia.or

python - 从 TimeDelta 到 Pandas 中的 float 天数

我有一个TimeDelta列,其值如下所示:2天21:54:00.000000000我想要一个代表天数的float,假设这里是2+21/24=2.875,忽略分钟。有没有简单的方法可以做到这一点?我看到一个答案建议res['Ecart_lacher_collecte'].apply(lambdax:float(x.item().days+x.item().hours/24.))但是我得到“AttributeError:'str'objecthasnoattribute'item'”Numpy版本是“1.10.4”Pandas版本为u'0.17.1'这些列最初是通过以下方式获得的:lac