#python #python-3.x
Вопрос:
Я пытаюсь работать над проектом, и у меня есть код, но он написан на python 2.X, В настоящее время я работаю над Python 3.X, и когда я пытаюсь
X= abs(int(f'fractionfactor:e'.split('e')[-1]))
в Python 2.X результат .split отправит обратно только десятичную часть для примера int(str(5/2)) даст мне взамен «2», но в python 3.X я получу «2,5» для того же кода вот полная часть, в которой я сейчас застрял
def format_value(valuetoformatx, fractionfactorx):
value= valuetoformatx
fractionfactor= fractionfactorx
Precision= abs(int(f'fractionfactor:e'.split('e')[-1]))
FormattedValue= float(':0.0{}f'.format(value,Precision))
return FormattedValue
def parPriceinfo(ticker,client):
info= client.get_symbol_info(ticker)
minPrice= pd.to_numeric(info['filters'][0]["minPrice"])
return minPrice
def pairQtyinfo(ticker,client):
info= client.get_symbol_info(ticker)
minQty= pd.to_numeric(info['filters'][2]['minQty'])
return minQty
ошибка:
недопустимый литерал для int() с основанием 10: «
Я надеюсь, что предоставил достаточно информации. заранее спасибо!
Ответ №1:
В строке f вам нужно поместить {}
переменную для форматирования и выражение форматирования.
Precision= abs(int(f'fractionfactor:e'.split('e')[-1]))
должно быть
Precision= abs(int(f'{fractionfactor:e}'.split('e')[-1]))
Комментарии:
1. да, я только что изменил его, и он работает, спасибо, чувак, и просто для записи я также должен перейти
FormattedValue= float(':0.0{}f'.format(value,Precision))
наFormattedValue= float('{:0.0{}f}'.format(value,Precision))
@barmar еще раз спасибо !