Как конвертировать double в REFERENCE_TIME в c ++? - PullRequest
0 голосов
/ 11 сентября 2010
typedef LONGLONG REFERENCE_TIME;

Я хочу преобразовать double Time в REFERENCE_TIME Time, как это сделать?

Ответы [ 2 ]

2 голосов
/ 11 сентября 2010

Эталонное время отсутствует на 100 нс часах. Это означает, что в секунду 10 000 000 тиков.

Итак, если ваш дубль находится в секундах, то вам нужно сделать

REFERENCE_TIME rt = static_cast< REFERENCE_TIME >( doubleTime * 10000000.0 );
0 голосов
/ 11 сентября 2010

Предполагая, что LONGLONG - это просто определение типа для встроенного типа, вы можете попробовать:

REFERENCE_TIME rt = static_cast<REFERENCE_TIME>(Time);

Но было бы безопаснее использовать boost :: numeric_cast

http://www.boost.org/doc/libs/1_44_0/libs/numeric/conversion/doc/html/boost_numericconversion/improved_numeric_cast__.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...