Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2011, 22:21   #1
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию Как высчитать число e?

В программу вводятится чило n. И нужно, чтобы не округляло.

Вот набросок:


Код:
procedure TForm1.Button1Click(Sender: TObject);
var n:Int64;
res:Extended;
begin
   n:=StrToInt(EditInput.Text);
   res:=st(1+1/n,n);
   EditOutput.Text:='e='+FloatToStr(res);
   ShowMessage('Готово')
end;
hon вне форума Ответить с цитированием
Старый 23.11.2011, 06:03   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Цитата:
var n:Int64;
Цитата:
n:=StrToInt(EditInput.Text);
Цитата:
EditOutput.Text:='e='+FloatToStr(res);
Только мне кажется, что сдесь побывал кэп?

http://www.delphibasics.ru/Int64.php
http://www.delphibasics.ru/Double.php
http://www.delphibasics.ru/Extended.php

http://ru.wikipedia.org/wiki/E_(%F7%E8%F1%EB%EE)
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 23.11.2011 в 06:07.
Johnson вне форума Ответить с цитированием
Старый 23.11.2011, 06:11   #3
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

У вас как раз-таки и не округляется, а записывается в общей форме с десятичным основанием Е и значением степени, которые идут после знака "+". Если бы не такая запись числа с плавающей запятой, то едита бы не хватило для отображения всех знаков)
Например сделайте так:
Цитата:
EditOutput.Text:='e='+FloatToStrF(r es,ffFixed,15,18);
Тогда у вас будет 18 разрядов после запятой.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 23.11.2011, 09:23   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Ещё раз повторяю... StrToInt преобразует в Int64, какая связь с Double или Extended?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 23.11.2011, 09:34   #5
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

я никак не пойму, число Эйлера высчитать надо? тогда

Код:
e:=Exp(1);
что делает функция st?
Хамяг вне форума Ответить с цитированием
Старый 23.11.2011, 09:52   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Предел (1+1/n) в степени n при n стремящемся к бесконечности и есть число Эйлера. Видимо функция st и высчитывает результат для заданного n, только тоже не нашел её, возможно это пользовательская функция, не показанная в коде?
Цитата:
StrToInt преобразует в Int64, какая связь с Double или Extended?
А в чем проблема то? n это одно, rez другое
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из ячейки содержащей текст и число извлечь только число? АННА-ЕАО Microsoft Office Excel 35 02.12.2016 23:16
как поделить число на число в delphi? Даниил_глазко Помощь студентам 13 11.11.2010 16:32
пишу число, а получается не число как так? suxo Microsoft Office Excel 4 30.05.2010 21:47
Высчитать радиус окружности Anyken Фриланс 4 25.06.2009 10:30
Как высчитать опыт? [Smarik] Паскаль, Turbo Pascal, PascalABC.NET 5 22.02.2008 22:34