Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.071 c
3-1083245604
opoloxai
2004-04-29 17:33
2004.05.23
Сравнивание 2-х *.xls фалов


14-1083154220
csr
2004-04-28 16:10
2004.05.23
Thread creation error


14-1083828472
Sour
2004-05-06 11:27
2004.05.23
Object Inspector


6-1080555134
Sur
2004-03-29 14:12
2004.05.23
как узнать IP


4-1081453590
anod
2004-04-08 23:46
2004.05.23
WM_MENUSELECT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский