Jak wyświetlić długą liczbę typu Extended, chodzi mi o wyświetlenie całej liczby. Przy dużych wartościach wyświetla mi się np. 3,124908379392E42 - co należy zrobić, żeby otrzymać liczbę w postaci niepotęgowej (tylko cyfry)?
[code]//od razu mowie ze funkcja:
FormatFloat('0.00000000',liczba);
//nie rozwiazuje sprawy [/code]
Wydaje mi się ze przy formatowaniu i zamianie Extended na Stringa wykorzystywany jest typ Integer - i stad sie bierze to ograniczenie...
Jesli ktos ma jakis pomysl chetnie skorzystam :-)
Skorzystaj z funkcji floattostrf().
niestety :-( nie dziala, a raczej nie do konca
[code]
funkcja:
floattostrf(liczba, ffgeneral, 18, 25);
//niczym nie rozni sie w praktyce od:
floattostrf(liczba, ffgeneral, 25, 25);[/code]
...nie rozni sie gdyz niewazne czy Precision bedzie wynosilo 18, czy wiecej np.25, liczba wyswietlana bedzie miala zawsze 18 cyfr +E+cos tam
...moze jest inny sposob na wyswietlenie w calosci ogromnej liczby? [niewinnosc]
No to pewnie trzeba będzie mnożyć przez 10, odcinać część całkowitą, zamieniać na znak i dodawać do łańcuszka znaków.
A tak poza konkursem - nie dostaniesz oczopląsu od oglądania takich liczb?
One chyba mają ok 300 cyferek.
...jestem w trakcie generowania ciekawego klucza :-)
pozniej jeszcze dochodzi ROT13 [niewinnosc] XOR
no i oczywiscie moje cos oczywiscie najfajniejsze :-)
[code]
funkcja:
floattostrf(liczba, ffgeneral, 18, 25);
//niczym nie rozni sie w praktyce od:
floattostrf(liczba, ffgeneral, 25, 25);[/code]
...nie rozni sie gdyz niewazne czy Precision bedzie wynosilo 18, czy wiecej np.25
Nie używaj ffgeneral, tylko fffixed.
Witam Szanownych Forumowiczów!
Mam dokładnie taki sam problem jak autor powyższego tematu.
Muszę obliczyć i wyświetlić 100 liczb, gdzie najdłuższa ma około 46 cyfr. Zrobiłem to wykorzystując tablicę o wymiarach [100][50], gdzie w każdej komórce znajduje się jedna cyfra. Czy da się to zrobić lepiej - wykorzystując np. extended i wyświetlając liczbę cyfra po cyfrze, a nie w notacji wykładniczej?
Liczę na to, że od 2003 nastąpił jakiś postęp. :)