Com Python <3 (por exemplo, 2.6 [veja comentários] ou 2.7), existem duas maneiras de fazer isso.
# Option one
older_method_string = "%.9f" % numvar
# Option two
newer_method_string = "{:.9f}".format(numvar)
Mas observe que para versões do Python acima de 3 (por exemplo, 3.2 ou 3.3), a opção dois é preferida .
Para obter mais informações sobre a opção dois, sugiro este link sobre formatação de string na documentação do Python .
E para obter mais informações sobre a opção um, esse link será suficiente e terá informações sobre os vários sinalizadores .
O Python 3.6 (lançado oficialmente em dezembro de 2016), adicionou a f
string literal, veja mais informações aqui , que estendem o str.format
método (uso de chaves de forma a f"{numvar:.9f}"
resolver o problema original), ou seja,
# Option 3 (versions 3.6 and higher)
newest_method_string = f"{numvar:.9f}"
resolve o problema. Confira a resposta de @ Or-Duan para obter mais informações, mas esse método é rápido .