簡體   English   中英

Python - 將算術浮動為字符串

[英]Python - float arithmetic as string

我正在使用Python並且有兩個包含浮點樣式值的字符串,例如:

a = '0.0000001'
b = '0.0003599'

我正在尋找一個解決方案,只需將兩個值一起添加或減去一個新的字符串,保持小數精度不變。 我已經嘗試將它們轉換為浮點數並使用+ b等,但這似乎是不一致的。

因此,此示例中的結果字符串將是字符串

c = '0.0003600'

我已經過了很多例子/方法,並沒有找到答案。 任何幫助贊賞。

看起來decimal模塊應該做你想要的:

>>> from decimal import *
>>> a = '0.0000001'
>>> b = '0.0003599'
>>> Decimal(a)+Decimal(b)
Decimal('0.0003600')

mpmath庫可以執行任意精度浮點運算:

>>> from mpmath import mpf
>>> a = mpf('0.0003599')
>>> b = mpf('0.0000001')
>>> print(a + b)
0.00036

對於我能想到的所有情況,轉換為float都可以:

>>> str(sum(float(i) for i in (a, b)))
'0.00036'
>>> str(sum(map(float, (a, b))))
'0.00036'
>>> str(float(a) + float(b))
'0.00036'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM