Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.04.2014, 15:25
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию Вычитание чисел

Люди! Подскажите как отнять 0.00006778 от 0.00000412?

Все типы перепробовал но что то не отнимает...

ShowMessage( FloatToStr(0.00006778 - 0.00000412) );

Последний раз редактировалось saylar_06, 02.04.2014 в 15:28.
Ответить с цитированием
  #2  
Старый 02.04.2014, 15:30
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от saylar_06
Люди! Подскажите как отнять 0.00006778 от 0.00000412?

Все типы перепробовал но что то не отнимает...
Как это не отнимает? Всё прекрасно отнимает:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  e: Extended;
begin
  e := 0.00000412 - 0.00006778;
  ShowMessageFmt('Ура! Отнимает! Получилось %g', [e]);
end;
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
saylar_06 (02.04.2014)
  #3  
Старый 02.04.2014, 15:39
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

увы, у меня результатом вот этого кода:
Код:
procedure TForm1.sButtonClick(Sender: TObject);
var
  e: Extended;
begin
   e := 0.00000412 - 0.00006778;
  Memo1.Lines.Add(FloatToStr(e));
end;

является ответ -6,366E-5, что меня не устраивает, стандартный калькулятор отнимает
Ответить с цитированием
  #4  
Старый 02.04.2014, 15:52
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от saylar_06
увы, у меня результатом вот этого кода:
.....
является ответ -6,366E-5, что меня не устраивает, стандартный калькулятор отнимает
И что тут неправильного? Это называется экспоненциальная запись действительного числа.
Попробуй формат с фиксированной запятой:
Код:
FloatToStrF(e, ffFixed, 20, 10)
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
saylar_06 (02.04.2014)
  #5  
Старый 02.04.2014, 16:12
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
И что тут неправильного? Это называется экспоненциальная запись действительного числа.
Попробуй формат с фиксированной запятой:
Код:
FloatToStrF(e, ffFixed, 20, 10)

а если у меня число является строкой? и я пытаюсь сделать StrToFloat(edit1.Text) - StrToFloat(edit2.Text), как быть? для начала строки сделать числами?
Ответить с цитированием
  #6  
Старый 02.04.2014, 16:20
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от saylar_06
а если у меня число является строкой? и я пытаюсь сделать StrToFloat(edit1.Text) - StrToFloat(edit2.Text), как быть? для начала строки сделать числами?
Функция StrToFloat как раз и делает из строк числа.
Только нужно обратить внимание на то, что символом разделителя дробной и целой части должен быть тот, что установлен в "Языках и региональных стандартах" Windows.
Чтобы не зависеть от настроек Windows-а на котором запускается твоя программа измени значение глобальной переменной DecimalSeparator на нужный тебе разделитель.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:01.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025