我有以下内容:
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/