VarI8FromR8.3w

Langue: en

Version: Jun 2009 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

VarI8FromR8 (OLEAUT32.336)

SYNOPSIS

HRESULT VarI8FromR8
 (
  double  dblIn,
  LONG64* pi64Out
 )

DESCRIPTION

Convert a VT_R8 to a VT_I8.

PARAMS

dblIn [In] Source.

pi64Out [Out] Destination.

RETURNS

Success: S_OK.

Failure: E_INVALIDARG, if the source value is invalid DISP_E_OVERFLOW, if the value will not fit in the destination.

NOTES

Only values that fit into 63 bits are accepted. Due to rounding issues, very high or low values will not be accurately converted.

Numbers are rounded using Dutch rounding, as follows:

  Fractional Part   Sign  Direction  Example

  ---------------   ----  ---------  -------

  < 0.5              +    Down        0.4 ->  0.0

  < 0.5              -    Up         -0.4 ->  0.0

  > 0.5              +    Up          0.6 ->  1.0

  < 0.5              -    Up         -0.6 -> -1.0

  = 0.5              +    Up/Down    Down if even, Up if odd

  = 0.5              -    Up/Down    Up if even, Down if odd.

This system is often used in supermarkets.

IMPLEMENTATION

Defined in "oleauto.h".

Implemented in "dlls/oleaut32/vartype.c".

Debug channel "variant".