floating-point ×11
Создан 03.01.2025
27
голоса
3
ответов
96
просмотров
Как преобразовать строку в float или int?

Как можно преобразовать строку (str) в число с плавающей запятой (float)?

"545.2222" -> 545.2222

Или же как преобразовать строку (str) в целое число (int)?

"31" -> 31

*Для обратного преобразования смотрите [Как преобразовать целое число в строку в...

16
голоса
2
ответов
32
просмотров
Почему замена 0.1f на 0 замедляет производительность в 10 раз?

Проблема:

Почему следующий участок кода:

const float x[16] = {  1.1,   1.2,   1.3,     1.4,   1.5,   1.6,   1.7,   1.8,
                       1.9,   2.0,   2.1,     2.2,   2.3,   2.4,   2.5,   2.6};
const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812,
          ...
12
голоса
5
ответов
31
просмотров
Форматирование числа с обязательным отображением 2 знаков после запятой

Заголовок: Проблема с форматированием чисел для отображения с двумя десятичными знаками в JavaScript

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

Примеры:

число     отображение
------     -------
1         ...
10
голоса
5
ответов
34
просмотров
Как использовать десятичное значение шага в range()?

Как мне пройтись по числам от 0 до 1 с шагом 0.1? При попытке использовать следующий код возникает ошибка, так как аргумент шага не может быть равен нулю: for i in range(0, 1, 0.1): print(i)

8
голоса
5
ответов
23
просмотров
Как решить проблемы с точностью чисел с плавающей запятой в JavaScript? [повтор]

Описание проблемы:

У меня есть следующий тестовый скрипт:

function test() {
  var x = 0.1 * 0.2;
  document.write(x);
}
test();

Этот код выводит результат 0.020000000000000004, хотя должен показывать просто 0.02 (если использовать калькулятор). Насколько я понял, это...

8
голоса
5
ответов
26
просмотров
Как округлить число ВВЕРХ?

Как округлить число ВВЕРХ в Python? Я пытался использовать round(number), но это округляет число вниз. Вот пример: round(2.3) = 2.0

А мне нужно, чтобы оно округлялось до 3, как я хотел. Затем я попробовал int(number + .5), но оно снова округляет число вниз! Пример: int(2.3 + .5) = 2

7
голоса
3
ответов
24
просмотров
Как получить случайное число в диапазоне дробных чисел?

random.randrange(start, stop) принимает только целочисленные аргументы. Как мне получить случайное число между двумя значениями с плавающей запятой?

6
голоса
5
ответов
32
просмотров
Как сравнить float и double, учитывая потерю точности?

Описание проблемы: Как наиболее эффективно сравнивать два значения типа double или float?

Просто использование следующего подхода будет некорректным:

bool CompareDoubles1(double A, double B)
{
   return A == B;
}

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

6
голоса
5
ответов
34
просмотров
Как красиво форматировать числа с плавающей запятой в строку без лишних нулей после запятой

Проблема: Красивая печать чисел с плавающей запятой в Java

Я использую тип double для представления всех моих чисел, поскольку максимальное целое значение, которое мне нужно обрабатывать, – это 32-битное беззнаковое число. Важно отметить, что double может точно представлять целые числа в...

5
голоса
3
ответов
11
просмотров
Почему Math.round(0.49999999999999994) возвращает 1?

Проблема с округлением чисел с плавающей точкой в Java

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

Вот код,...

0
голоса
5
ответов
2
просмотров
Невозможно умножить последовательность на тип 'float' — не целое число [закрыто]

Описание проблемы

Я столкнулся с ошибкой "can't multiply sequence by non-int of type 'float'" в следующем коде:

def nestEgVariable(salary, save, growthRates):
    SavingsRecord = []
    fund = 0
    depositPerYear = salary * save * 0.01
    for i in growthRates:  
        fund =...