@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()
  • Вопрос задан
  • 127 просмотров
Решения вопроса 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 но проблема все равно решается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы