Добавьте минуты и секунды. Дисплей в часах

Предположим, я хотел бы добавить 29 минут и 60 секунд и отобразить результат в часах.

Вот то, что, кажется, работает:

cout <<
static_cast<quantity<hour_base_unit::unit_type>>
(quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds)
<< endl;

На консоли отображается следующее:

0.5 h

Это рекомендуемый подход? Есть ли лучший или более идиоматический способ?

Вся программа, иллюстрирующая приведенный выше пример, приведена ниже.

#include <iostream>
#include <boost/units/systems/si/io.hpp>
#include <boost/units/systems/si.hpp>
#include <boost/units/base_units/metric/hour.hpp>
#include <boost/units/base_units/metric/minute.hpp>

using namespace std;
using namespace boost::units;
using namespace boost::units::si;
using namespace boost::units::metric;

int main()
{
cout <<
static_cast<quantity<hour_base_unit::unit_type>>
(quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds)
<< endl;

return 0;
}

2

Решение

Вы могли бы просто сделать

(Мин / 60 + секунд / 3600)

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector