如何在c ++中将double转换为REFERENCE_TIME?

时间:2010-09-11 09:55:37

标签: c++ windows

typedef LONGLONG REFERENCE_TIME;

我想将double Time转换为REFERENCE_TIME Time,该怎么做?

2 个答案:

答案 0 :(得分:2)

参考时间基于100 ns时钟。这意味着每秒有10,000,000个滴答。

假设您的双倍是在几秒钟内,那么您需要做

REFERENCE_TIME rt = static_cast< REFERENCE_TIME >( doubleTime * 10000000.0 );

答案 1 :(得分:0)

假设LONGLONG只是内置类型的typedef,您可以尝试:

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