От части до десятичного числа и Назад?

Вы должны использовать второй вызов для включения таймеров:

Подробнее здесь

test('rateLimit', () => {
  const action = jest.fn();

  const doAction = rateLimit(action, 100);

  doAction(); // This should increment the call count
  doAction(); // This shouldn't, because 100ms hasn't elapsed yet

  jest.runAllTimers();

  doAction(); // This should increment the count again

  jest.runAllTimers();

  expect(action).toHaveBeenCalledTimes(2);
});

5
задан CC. 15 March 2009 в 23:12
поделиться

5 ответов

Лучшая вещь сделать состоит в том, чтобы реализовать дробный класс (или класс рационального числа). Обычно это взяло бы числитель и знаменатель и смогло бы обеспечить двойное, и сделать основную математику с другими дробными объектами. Это должно также смочь проанализировать и отформатировать части.

Рациональная Арифметика на Rosetta Code похожа на что-то хорошее для запуска с.

3
ответ дан 18 December 2019 в 12:02
поделиться

Хорошо короче говоря, нет никакого истинного способа извлечь исходную часть из десятичного числа.

Пример: возьмите 5/10

Вы доберетесь 0.5

теперь, 0.5 также переводит назад в 1/2, 2/4, 3/6, и т.д.

Ваш лучший выбор состоит в том, чтобы сохранить каждое целое число отдельно и выполнить вычисление позже.

5
ответ дан 18 December 2019 в 12:02
поделиться

Я боюсь, что нет никаких легких ответов для Вас на этом. Для создания части необходимо будет разделить текстовое поле на '/', преобразовать эти две половины в doubles, и отделяют их. Что касается преобразования его назад к части, необходимо будет взломать учебник по математике и понять его. (Еще хуже, двойное не на самом деле точно — можно думать, что это имеет 0.1 в нем, но это действительно имеет 0.09999999999999998726 или что-то как этот, таким образом, необходимо будет выбрать точность и пойти для нее или записать своего рода дробный класс, это основано на паре целых чисел.)

3
ответ дан 18 December 2019 в 12:02
поделиться

Метод, как сказано, должен сохранить числитель и знаменатель, очень в способе, которым можно записать это на бумаге.

поскольку 'C' используют

Библиотека арифметики многократно увеличенной точности GNU

ищите 'рациональный' в документах.

3
ответ дан 18 December 2019 в 12:02
поделиться

Существует ли простой способ вычислить десятичное значение к части?

При ограничении десятичных значений определенным числом десятичных очков, Вы могли бы создать справочную таблицу.

0.3333, 1/3
0.6666, 2/3
0.0625, 1/16
0.1250, 1/8
0.2500, 1/4
0.5000, 1/2
0.7500, 3/4
etc...

Таким образом, если ввод данных пользователем 0.5 Вы заполняете его 0, пока Вы не получили 4 десятичных разряда. Вы затем использовали бы справочную таблицу для возврата "1/2". Справочная таблица должна, вероятно, быть своего рода словарем.

Не было бы слишком трудно сделать оценку также. Например, если бы пользователь вошел 0.0624, то Вы могли бы легко выбрать значение в таблице, самой близкой к тому десятичному числу. В этом случае это возвратило бы "1/16".

Не позволяйте вводу/вводу конечного множества десятичных/дробных волнений пар Вы (это является действительно не настолько большим в зависимости от точности, которую Вы выбираете).

Если бы все остальное перестало работать, возможно, поиск Google показал бы библиотеку, которая делает этот вид этого для Вас.

1
ответ дан 18 December 2019 в 12:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: