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

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

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

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

24.04.2014, 23:35. Просмотров 438. Ответов 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++
Уважаемые программисты нужно создать 2 массива, которые вмещали в себе в первом - имя студента, во втором - его фамилия, и заполнить их...

Как записать число в строку? - C++
Объясните, пожалуйста

Как записать число в строку? - C++
дано ЛЮБОЕ вещественное число (double) например, double r= 246.1245 мне нужно его вставить(записать) в строку string temp; без...

Необходимо записать в пустую строку число (ASCII код) - C++
Следующая программа должна во введенной строке заменять все согласные буквы на гласные (это мне удалось реализовать) , а вместе гласный...

Записать пятизначное число в строку, с отступом в 3 пробела между каждой цифрой - C++
Потрібно написать програму , яка записує пятницифреве число в рядок , з відступом в 3 пробіли між кожною цифрою. На вході маємо ціле...

Вывести дату в заданном формате - C++
В это задаче надо ввести дату 21/07/55 и что бы вывело в формате July 21, 1955 Но я не понимаю почемы выводит 21, 1955?Почему месяц не...

Вывести двоичный код в массив в заданном формате - C++
Необходимо вывести двоичный код в массив в таком формате 1 10 11 100 101 и т.д. до N-ого раза я пытался решить это 3...

Вывести информацию о каждом url в заданном формате - C++
Допустим есть vector&lt;string&gt; содержащий url. Например: std::vector&lt;std::string&gt; url; url.push_back(&quot;http://example.com/index.html&quot;); ...

Вывести значение n-го члена арифметической прогрессии в заданном формате - C++
На вход программы подаются три целых числа a1, a2 и n. a1 и a2 - первые два члена арифметической прогрессии. Вывести значение n-го члена в...

Написать функцию, выводящую время, введённое пользователем, в заданном формате - C++
Здравствуйте! Стоит задача: напишите программу, которая выдает запрос на ввод значений часов и минут. Функция main() должна передать эти...

Запросить на ввод значения часов и минут и вывести их в заданном формате - C++
Доброго времени суток, форумчане. Просьба помочь с простыми программами на С++. Только начал изучать, но путаюсь, где какой оператор и...

Разработайте программу, которая выполняет заданные действия и выводит результат в заданном формате - C++
1. Введите с клавиатуры переменные x,z (типа float), вычислите выражение res=(4.2*x-z)2/3.5 и выведите на экран результат с тремя цифрами...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
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");
}
Ответ Создать тему
Опции темы

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