我有以下代码片段(来自类的一部分(:
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!