У меня есть два числа с плавающей точкой в Python, которые я хотел бы вычесть, т.е.
v1 = float(value1)
v2 = float(value2)
diff = v1 - v2
Я хочу, чтобы «diff» вычислялся с точностью до двух десятичных знаков, то есть вычислял его, используя %.2f
из v1 и %.2f
из v2. Как я могу это сделать? Я знаю, как печатать v1 и v2 с точностью до двух десятичных знаков, но не умею делать арифметику подобным образом.
Особая проблема, которую я пытаюсь избежать, заключается в следующем. Предположим, что:
v1 = 0.982769777778
v2 = 0.985980444444
diff = v1 - v2
и затем я печатаю в файл следующее:
myfile.write("%.2f\t%.2f\t%.2f\n" %(v1, v2, diff))
тогда я получу вывод: 0,98 0,99 0,00, предполагая, что нет разницы между v1 и v2, даже несмотря на то, что напечатанный результат предполагает разницу в 0,01. Как я могу обойти это?
спасибо.