Форум: "Потрепаться";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Внизпреобразовать массив Найти похожие ветки
← →
Nick-From © (2004-05-05 14:31) [0]Есть массив вещественных чисел:
[0.1 0.12 0.123]
Как проще всего все числа массива догнать до целых, т.е. должно получиться:
[100 120 123]
я пока последовательно множу на 10 и проверяю весь массив на остаток от деления. Можт есть способ проще?
← →
Nikolay M. © (2004-05-05 15:45) [1]А проверить сначала каждый элемент на количество знаков после запятой и умножить потом на 10^макс.кол-во знаков - не проще? Только что будет, когда встретится 0.3333(3)? Да и про точность представления вещественных чисел тоже забывать нельзя: будет у тебя не 0.3, а 0.30000000001928374 - твои действия?
← →
Palladin © (2004-05-05 15:47) [2]перевести в String, убрать разделитель, добить с конца нулями все строки до наибольшей длинны и обратно в int... если массив огромный и точность бывает до 5 знаков, то прирост производительности обеспечен
← →
Vlad Oshin © (2004-05-05 16:23) [3]со стрингом долго работает, вроде
надо, имхо, посмотреть представление типа вещественного числа в памяти.
Далее определить самое длинное число, как если бы мы его представляли в стринге, так определим на что нужно множить
← →
Palladin © (2004-05-05 16:28) [4]самый быстрое и правильное решение, это отслеживать точность чисел при заполнении массива, а не бегать каждый раз по нему деля на десять
← →
Vlad Oshin © (2004-05-05 16:29) [5]
> при заполнении массива
точно!
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c