С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 03.08.2015
Сообщений: 42

Ошибка в числах с плавающей запятой (калькулятор)

04.08.2015, 01:00. Показов 1860. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пробую написать калькулятор. Все идет гладко, все, кроме запятой. К примеру, при попытке сложить 0,2 и 0,4 получаю в ответ 0,600000023841858...
Помогите разобраться, пожалуйста.

Код
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//---------------------------------------------------------------------------
 
#include <clx.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.xfm"
TForm1 *Form1;
float a,b; int f; AnsiString st;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (f!=0)
Memo1->Text=Memo1->Text+((TButton*)Sender)->Caption;
else{
Memo1->Text=((TButton*)Sender)->Caption;
f=1;}
b=StrToFloat(Memo1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
if (f!=0){
a=StrToFloat(Memo1->Text);
st=((TButton*)Sender)->Caption;
Memo1->Text=((TButton*)Sender)->Caption;
f=0;}
else
Application->MessageBoxA("Спочатку введіть число");
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button16Click(TObject *Sender)
{
 if (st=='+')
{a=a+b; f=0;}
if (st=='-')
{a-=b; f=0;}
if (st=='*')
{a*=b; f=0;}
if (st=='/')
{a/=b; f=0;}
Memo1->Text=FloatToStr(a);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender)
{
if(f!=0)
Memo1->Text=Memo1->Text+",";
else if (Memo1->Text.Pos(",")==0){
Memo1->Text="0,";
f=1;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
 f=0;
Memo1->Text="0";
}
//---------------------------------------------------------------------------
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.08.2015, 01:00
Ответы с готовыми решениями:

Управление количеством выводимых знаков в числах с плавающей запятой
Уважаемые специалисты по языку С! Помогите Visual Basic - программисту! Для одной задумки мне понадобилось написать библиотеку Win32...

Нужна подсказка в числах с плавающей запятой. Вычисление выражения
Необходимо вычислить (a-b)/(a-3) Смог написать только fsub st,st(1); а дальше не знаю . помогите дописать и обьясните если не сложно

Ошибка с плавающей запятой
Решая систему наткнулся на вот такую неприятную вещь. подскажите пожалуйста как исправить

1
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
04.08.2015, 02:03
Представление вещественных чисел "на пальцах"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.08.2015, 02:03
Помогаю со студенческими работами здесь

Ошибка в плавающей запятой
Здравствуйте... Видела данную тему несколько раз на вашем форуме, но решение своетак и не нашла. Пишет, что ВОт файл

Ошибка с плавающей запятой
Почитал форум про подобные ошибки, но не смог найти, как исправить свою. Делал лабу, решение системы уравнений методом Гусса-Зейделя. Из-за...

Ошибка с плавающей запятой
program zadacha3_3; uses crt; ...

Обнаружена ошибка с плавающей запятой
Здравствуйте! Я конечно извиняюсь, если такой вопрос уже поступал на форум где-то пару лет назад, но я не нашел решение данной проблемы((....

MathCAD (ошибка в плавающей запятой)
Нашел курсовую по теме &quot;Решение СЛАУ методом вращения&quot; Честно перекатал программу, но она отказывается считать, проблема в плавающей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru