Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
#1

Разделитель в числах с плавающей точкой - C++

22.08.2012, 16:29. Просмотров 869. Ответов 4
Метки нет (Все метки)

Здравствуйте, у меня есть интересный вопрос

Всем известно, что в переменной типа double могут храниться такие числа, как 0.30, но если
изменить "." на ",", т.е, например, вместо 0.30 введем 0,30, то получим ошибку, можно ли это исправить и как ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2012, 16:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разделитель в числах с плавающей точкой (C++):

Ошибка в числах с плавающей запятой (калькулятор) - C++
Пробую написать калькулятор. Все идет гладко, все, кроме запятой. К примеру, при попытке сложить 0,2 и 0,4 получаю в ответ...

Непонятки с плавающей точкой - C++
Обучаюсь С++ по книге Дейтелов. Работаю в IDE Dev-c++ v4.9.9.2 в четвертой главе есть вот такое вот упражнение:4.16. Разработайте...

Точность числа с плавающей точкой - C++
У типа float числа одинарной точности с плавающей запятой обеспечивают относительную точность 7-8 десятичных цифр. Внимание, вопрос!...

Округлить числа с плавающей точкой - C++
Подскажите почему работает неправильно! Не округляет, а выдает только числа до запятой! Исправьте пожалуйста!! Вот задание: Строка...

Не выводится число с плавающей точкой - C++
Написал прогу #include <iostream> using namespace std; int main() { int b,c,sum=0; cout<<"Enter number of students: "; ...

Калькулятор чисел с плавающей точкой - C++
double calculate(float x, char s, float y); int main() { float x,y; char s; x=y=0; cin>>x>>s>>y;

4
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
22.08.2012, 16:37 #2
Нет. На синтаксис записи чисел через точку и использование запятых в других контекстах завязано слишком много. Лучшее решение на данный момент: смириться и получать по пальцам от компилятора до тех пор, пока не наступит понимание, что числа пишутся через точку.

А, в смысле при вводе-выводе. Гуглите в сторону std::locale.
1
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
22.08.2012, 16:48  [ТС] #3
Спасибо
0
Пaтрик
416 / 391 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
22.08.2012, 17:02 #4
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <locale>
 
int main()
{
    std::locale ru_locale("Russian");
    std::cout.imbue(ru_locale);
    std::cout << 2.3 << std::endl;
}
1
Catstail
Модератор
22738 / 11107 / 1797
Регистрация: 12.02.2012
Сообщений: 18,307
22.08.2012, 18:36 #5
Не думаю, что C++ будет "прогибаться" под национальные особенности. Программисты от веку использовали для этой цели точку (и будут, полагаю, использовать).

Если же нужно вводить числа с запятой вместо точки, то легко написать простейшую функцию, которая примет число с запятой (в форме строки), заменит запятую на точку. Далее - как обычно.
0
22.08.2012, 18:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2012, 18:36
Привет! Вот еще темы с ответами:

Форматирование чисел с плавающей точкой - C++
Все знают про проблемы с представлением дробных чисел. Например: double test = .58; printf(&quot;%f\n&quot;, test); //...

Длинная арифметика с плавающей точкой - C++
Есть задача перемножить много (десятки тысяч) чисел от 0 до 1. числа задаются дробями целых чисел. например 28/5489. Надо получить...

Усечение числа с плавающей точкой - C++
Доброго времени суток! Собсно сабж. floor(v*1000)/1000 не помогает, обнуляется только несколько знаков после запятой, а остальные...

Сравнение чисел с плавающей точкой - C++
Известно, что числа с плавающей точкой нельзя сравнивать с помощью ==. Однако, нет ли исключения из этого правила? Дело вот в чём. Если мы...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru