@Greem4ik

Удаление первых двух цифр после точки?

Есть пустой список, куда поступают данные. Данные типа 0.00009011. Нужно сделать чтобы после .(точки) обрезались первые два нуля и число 0.00009011 превращалось в 0.009011. После этого последние две цифры надо обрезать чтобы получилось 0.0090

import requests
import json

def collect_data():

     r = requests.get(url='https://www.binance.com/fapi/v1/premiumIndex')
     data = r.json()  
     percent = []   
     for a in data:
        percent = a['lastFundingRate']
        print(percent)

def main():
    collect_data()

if __name__ == '__main__':
    main()
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Если тип данных у 0.00009011 str, проблем нет вообще.
s = '0.00009011'
first, second = s.split('.')
result = first + '.' + second[2:-2]
print(result)

Если же данные поступают в формате flaot нас ждет проблема, если мы конвертируем float в str мы получим str в научном виде неудобном для парсинга, если же мы будем использовать чистый python для выведения float в научном виде нам нужно зафиксировать количество символов сколько мы будем форматировать псевдо код будет такой
float_number = 0.0000550034
print(f"{float_number:.nf}")

но n для каждого поступления нового числа свое и мы не сможем удалять первые и последние две цифры.
в библиотеке numpy есть решение данной проблемы
import numpy as np
number = 0.00009011
first, second = str(np.format_float_positional(number,trim='-')).split('.')
result = first + '.' + second[2:-2]
print(result)
здесь в отличии от первого случая тип наших float но проблема все равно решается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект