Понедельник, 29.04.2024, 04:21
"I-School" - школа знаний XXI века
     In doing we learn
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Форма входа
Категории раздела
Пользователь ПК [0]
WEB-дизайн [0]
Программирование [18]
Корзина
Пользователь ПК [0]
WEB-дизайн [0]
Программирование [18]
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Главная » Статьи » Информатика, программирование » Программирование

    Программирование C++/CLI
    Проблема конвертации String в Double - культурологическая: разделителем целой и дробной части у нас является запятая, а в англоязычных странах - точка. Поэтому, если напрямую применить Parse, получим "наше" представление (например: 5,15 для введенной строки "5.15"). Для С++ это два числа: 5 и 15.
    Что делать? Менять культуру.

    using namespace System;
    using namespace System::Globalization;
    using namespace System::Threading;
     
    int main()
    {
            Thread::CurrentThread->CurrentCulture = gcnew CultureInfo("en-US",false );
            NumberFormatInfo^ nfi = CultureInfo::CurrentCulture->NumberFormat;
           
            Console::Write("Num = ");
            double num = Double::Parse(Console::ReadLine(),nfi);
     
            ........
                   
            return 0;
    }

    Теперь Parse введенную с консоли строку "5.15" преобразует в 5.15, что и требовалось.

    Категория: Программирование | Добавил: IrineK (25.02.2011)
    Просмотров: 777 | Теги: Программирование C++/CLI, подготовка портфолио C++/CLI | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz