Python:如何四舍五入索引数字



我有以下代码片段(来自类的一部分(:

def __init__(self):
self.data_end = self.datas[0].end
self.data_start = self.datas[0].start

然后,以下代码:

def next_trans(self):
if not self.position:
if self.buy_signal > 0:
size = int(self.getcash() / self.datas[0].start)
self.log(f'BUY - Size: {size}, Cash: {self.getcash():.2f}, Start: {self.data_start[0]}, End: {self.data_end[0]}')
self.start(size=size)

我遇到的问题是,"开始"one_answers"结束"值打印为长浮点数(例如89.12999725341797(。

我尝试了各种方法来使用round((,但都没有成功。我收到错误,例如:

AttributeError: 'LineBuffer' object has no attribute 'round'

TypeError: type LineBuffer doesn't define __round__ method

如何将输出四舍五入到小数点后两位(例如89.13(?

提前感谢!

解决方案是附加":.2f":

self.log(f'BUY - Size: {size}, Cash: {self.getcash():.2f}, Start: {self.data_start[0]:.2f}, End: {self.data_end[0]:.2f}')

最初,我附加了".2f"(缺少前面的":"(,它抛出了我看到的一条错误消息。

感谢@BłotosmÉtek!

最新更新