Вы уже поняли, что числовые значения идентичны.
Так что это просто проблема отображения, которую вы можете обойти, отформатировав их самостоятельно:
data = [0.43578E-08, 0.48992E-08, 0.54452E-08, 0.59816E-08, 0.64918E-08, 0.69577E-08]
def format_float_weirdly(myfloat):
"""Formats a float to 0.xxxxxxxe-08 if it would be presened as x.xxxxxxe-09
when normally formatted. If not, the normal format is outputted."""
float_String = f"{myfloat:.8n}"
if float_String[1] == "." and float_String.endswith("e-09"):
float_String = "0." + float_String.replace(".","").replace("e-09","e-08")
return float_String
d2 = [format_float_weirdly(f) for f in data]
print(data)
print(d2)
Выход:
# printout of data
[4.3578e-09, 4.8992e-09, 5.4452e-09, 5.9816e-09, 6.4918e-09, 6.9577e-09]
['0.43578e-08', '0.48992e-08', '0.54452e-08', '0.59816e-08', '0.64918e-08', '0.69577e-08']
Вы можете адаптировать это, чтобы соответствовать «любому» другому представлению, выполняя некоторые математические и строковые срезы в «нормальном строковом представлении». Afaik нет встроенного способа «форматировать» плавающее число, как вы хотите, с помощью обычного форматирования строк означает.