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

Записать число в строку в заданном формате - C++

Восстановить пароль Регистрация
 
stdstring
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 7
24.04.2014, 23:35     Записать число в строку в заданном формате #1
Добрый день.
Есть число double от 0 до 99. Нужно записать его в std::string в виде XX.XXXX.
К сожалению не придумал ничего лучше чем
C++
1
2
3
4
5
6
7
8
9
10
11
12
void double_to_str(std::string& str, double dval){
    if (dval<0||dval>99)
    {
        throw bad_val(dval);
    }
    if (dval<10)
    {
        str+='0';
    }
    str+=std::to_string(dval);
    str=str.substr(0,7);
}
Меня не покидает ощущение что это можно сделать не так криво.
Буду благодарен за подсказку как сделать этот код более красивым.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 23:35     Записать число в строку в заданном формате
Посмотрите здесь:

как записать число в строку? C++
C++ Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
Описать строку А. Из входной последовательности символов записать в строку А только цифры C++
Как записать число в строку? C++
C++ Вывести строку, содержащую эти же слова, но расположенные в обратном порядке. Записать полученную строку в другой файл
Ввести строку, создать вторую строку в два раза больше, в которую записать симболы первой строки C++
Вывести двоичный код в массив в заданном формате C++
C++ Возможно ли прочитать в консоль документ .docx или .doc, а также записать в том же формате?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 201
25.04.2014, 11:11     Записать число в строку в заданном формате #2
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <iomanip>
int main()
{
    double d = 91.1234111;
    std::cout << std::fixed << std::setprecision(4) << std::setw(7) << std::setfill('0') << d << std::endl;
    system("pause");
}
Yandex
Объявления
25.04.2014, 11:11     Записать число в строку в заданном формате
Ответ Создать тему
Опции темы

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