python - 如何将一个数字的格式复制到另一个数字?

标签 python

我有以下内容:

strA = '0.8243'
strB = '12.3'
strC = float(strA) + float(strB)

print strC # 13.1243...I want it formatted like that of strB...13.1

strA 和 strB 会发生变化,小数位数未知。但是,我总是希望小数位保留 strB 的小数位。这可能吗?

注意:如果 strB = '12',则 float(strB) = 12.0...在这种情况下我不需要小数(例如匹配原始字符串)

最佳答案

您应该在此处使用 decimal.Decimal 类,并修改您希望如何进行舍入:

strA = '0.8243'
strB = '12.3'

from decimal import Decimal as D
a, b = map(D, [strA, strB])
print (a + b).quantize(b)
# 13.1

strB = '12' 结果是 13

关于python - 如何将一个数字的格式复制到另一个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19345845/

相关文章:

Python,无法在 Windows 中使用 Ctrl-C 中断子进程

Python:如何为嵌套列表返回具有特定格式的字符串

python - 使用循环从列表创建数据框

python - 重新设置小部件pyqt的布局

python - 为什么我在使用 cleaned_data 时没有得到干净的数据

python - waitForPageToLoad 的任何替代方案

python - 为什么 map 在 Python 3 中返回一个 map 对象而不是一个列表?

python - 局部直方图均衡化

python - 现在启动一个将使用 python 的网络应用程序,稍后需要很好地嵌入到 Drupal 站点中?

python - 如何删除 tkinter GUI 中的所有元素?