Я сейчас довольно застрял. У меня есть проект Джанго, который работал замечательно, пока я не попытался добавить Стог Сена/Whoosh для поиска. У меня был такой же стек в других проектах, хорошо работающих.
Всякий раз, когда в настройках есть «стог сена». INSTALLED_APPS и я пытаюсь manage.py runserver
или manage.py shell
Я получаю 'Ошибка: не удается импортировать имя openProc'
Я думал, что это может быть зависимость Стога Сена, который не был установлен правильно, поэтому я удалил Стек Сена из пакетов сайта и переустановил, но то же самое Googling openProc и связанные ключевые слова ничего не обнаружили.
Я надеюсь, что кто-то еще столкнулся с этой ошибкой, или, по крайней мере, что теперь в Google будет что-то, что может иметь ответ! Я знаю, что эти ошибки не могут импортировать имя < что-то >
могут быть сложными, но эта ошибка особенно запутана, потому что она связана с внешним пакетом.
Вот сценарий: я получаю .99999999999999999
, когда я должен получить 1,0
.
Я могу позволить себе потерять десятичный знак точности, поэтому я использую .toFixed (15)
, который работает.
Округление работает, но проблема в том, что мне дают 1.000000000000000
.
Есть ли способ округлить до нескольких десятичных разрядов, но отделить дополнительное пробельное пространство?
Примечание: .toТочность
- это не то, что я хочу; Я хочу только указать, сколько чисел после десятичной точки.
Примечание 2: Я не могу просто использовать .toPrecision (1)
, потому что мне нужно сохранять высокую точность для чисел, которые на самом деле имеют данные после десятичной точки. В идеале было бы ровно столько десятичных знаков, сколько необходимо (до 15).
toFixed()
метод форматы a number
представление с фиксированной точкой использования и возвраты string
.
Это применяется полу округление стратегия.
(0.124).toFixed(2); // returns 0.12
(0.125).toFixed(2); // returns 0.13
, Поскольку Вы описали, это будет действительно также иногда приводить к (потенциально ненужным) конечным нулям.
(0.001).toFixed(2); // returns 0.00
Вы не можете хотеть избавляться от тех конечных нулей, по существу Вы могли просто преобразовать его назад в number
. Существует много способов сделать это.
+(0.001).toFixed(2); // the shortest
Для обзора, различных методов для преобразования строк в числа проверьте этот вопрос, который имеет некоторые превосходные ответы.