-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Округление данных при помещении в поток.

Вторник, 26 Января 2021 г. 18:09 + в цитатник
Сергей85:
    #include
    #include "sstream.h" //^E^i'i^aad`o`a"o`e"y String ^a Long Double.
    AnsiString asLongDouble_To_String(long double ldValue) //^E^i'i^aad`o`a"o`e"y long double ^a^ic`i^iae'i`a `o^i"e"u^e^i :adac "i^i`o^i^e.
    {
    stringstream sStream;
    sStream.precision(10000);
    sStream << ldValue; //sStream << std::fixed << ldValue; - 'ia d`a'a^i`o`aa`o ~n 'a^i"e"uo`e`i`e :`e~n"e`a`i`e ^a`e"a`a 10^38, `a `o`a^eaea "a^i"i`e~n^u^a`aa`o 6 'i'o"ea'e "i^i~n"ea c`a"i"y`o^i'e.
    string sValue = sStream.str();
    AnsiString asValue = "";
    for (unsigned int i=0; i
    return asValue;
    }
    long double ldString_To_LongDouble(AnsiString asValue) //^E^i'i^aad`o`a"o`e"y long double ^a^ic`i^iae'i`a `o^i"e"u^e^i :adac "i^i`o^i^e.
    {
    long double ldResult = 0;
    string sValue = "";
    for (int i=0; idiv>
    if (asValue.Pos(DecimalSeparator)==0) sValue.append(DecimalSeparator + "0");
    stringstream strStream(sValue);
    strStream >> ldResult;
    return ldResult;
    }


Среда разработки не содержит функций, позволяющих перетипировать Long Double в AnsiString и обратно. Самописные функции же сталкиваются с неправильным преобразованием больших чисел (в т.ч. из-за научного их представления). Например, предел Unsigned Long Long (18446744073709551615) преобразуется как 18446744073709551620 - то есть, происходит переполнение переменной на 5. В связи с этим, максимум для дробных переменных и части больших целочисленных переменных ограничен вручную до +-9223372036854775808.

https://forum.sources.ru/index.php?showtopic=421054&view=findpost&p=3844048

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку