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

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽