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

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

Восстановить пароль Регистрация
 
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
22.08.2012, 16:29     Разделитель в числах с плавающей точкой #1
Здравствуйте, у меня есть интересный вопрос

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

C++ Рандом с плавающей точкой, как?
Усечение числа с плавающей точкой C++
Точность числа с плавающей точкой C++
Не выводится число с плавающей точкой C++
Форматирование чисел с плавающей точкой C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
22.08.2012, 16:37     Разделитель в числах с плавающей точкой #2
Нет. На синтаксис записи чисел через точку и использование запятых в других контекстах завязано слишком много. Лучшее решение на данный момент: смириться и получать по пальцам от компилятора до тех пор, пока не наступит понимание, что числа пишутся через точку.

А, в смысле при вводе-выводе. Гуглите в сторону std::locale.
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
22.08.2012, 16:48  [ТС]     Разделитель в числах с плавающей точкой #3
Спасибо
Пaтрик
 Аватар для Пaтрик
394 / 387 / 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;
}
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
22.08.2012, 18:36     Разделитель в числах с плавающей точкой #5
Не думаю, что C++ будет "прогибаться" под национальные особенности. Программисты от веку использовали для этой цели точку (и будут, полагаю, использовать).

Если же нужно вводить числа с запятой вместо точки, то легко написать простейшую функцию, которая примет число с запятой (в форме строки), заменит запятую на точку. Далее - как обычно.
Yandex
Объявления
22.08.2012, 18:36     Разделитель в числах с плавающей точкой
Ответ Создать тему
Опции темы

Текущее время: 08:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru