Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
CComCurrency bevat methoden en operators voor het maken en beheren van een CURRENCY object.
Syntaxis
class CComCurrency;
Leden
Openbare constructors
| Naam | Description |
|---|---|
CComCurrency::CComCurrency |
De constructor voor een CComCurrency object. |
Openbare methoden
| Naam | Description |
|---|---|
CComCurrency::GetCurrencyPtr |
Retourneert het adres van een m_currency gegevenslid. |
CComCurrency::GetFraction |
Roep deze methode aan om het fractionele onderdeel van een CComCurrency object te retourneren. |
CComCurrency::GetInteger |
Roep deze methode aan om het gehele getal van een CComCurrency object te retourneren. |
CComCurrency::Round |
Roep deze methode aan om een CComCurrency object af te ronden op de dichtstbijzijnde gehele waarde. |
CComCurrency::SetFraction |
Roep deze methode aan om het fractionele onderdeel van een CComCurrency object in te stellen. |
CComCurrency::SetInteger |
Roep deze methode aan om het gehele getal van een CComCurrency object in te stellen. |
Openbare operators
| Naam | Description |
|---|---|
CComCurrency::operator - |
Deze operator wordt gebruikt om aftrekken uit te voeren op een CComCurrency object. |
CComCurrency::operator != |
Vergelijkt twee CComCurrency objecten voor ongelijkheid. |
CComCurrency::operator * |
Deze operator wordt gebruikt om vermenigvuldigen op een CComCurrency object uit te voeren. |
CComCurrency::operator *= |
Deze operator wordt gebruikt om vermenigvuldigen op een CComCurrency object uit te voeren en het resultaat toe te wijzen. |
CComCurrency::operator / |
Deze operator wordt gebruikt om deling uit te voeren op een CComCurrency object. |
CComCurrency::operator /= |
Deze operator wordt gebruikt om deling uit te voeren op een CComCurrency object en het resultaat toe te wijzen. |
CComCurrency::operator + |
Deze operator wordt gebruikt om optellen op een CComCurrency object uit te voeren. |
CComCurrency::operator += |
Deze operator wordt gebruikt om optellen op een CComCurrency object uit te voeren en het resultaat toe te wijzen aan het huidige object. |
CComCurrency::operator < |
Met deze operator worden twee CComCurrency objecten vergeleken om de mindere objecten te bepalen. |
CComCurrency::operator <= |
Deze operator vergelijkt twee CComCurrency objecten om gelijkheid te bepalen of minder. |
CComCurrency::operator = |
Met deze operator wordt het CComCurrency object toegewezen aan een nieuwe waarde. |
CComCurrency::operator -= |
Deze operator wordt gebruikt om aftrekken uit te voeren op een CComCurrency object en het resultaat toe te wijzen. |
CComCurrency::operator == |
Deze operator vergelijkt twee CComCurrency objecten voor gelijkheid. |
CComCurrency::operator > |
Deze operator vergelijkt twee CComCurrency objecten om de grotere te bepalen. |
CComCurrency::operator >= |
Deze operator vergelijkt twee CComCurrency objecten om gelijkheid te bepalen of groter. |
CComCurrency::operator CURRENCY |
Casts a CURRENCY object. |
Leden van openbare gegevens
| Naam | Description |
|---|---|
CComCurrency::m_currency |
De CURRENCY variabele die door uw klasse-exemplaar is gemaakt. |
Opmerkingen
CComCurrency is een wrapper voor het CURRENCY gegevenstype.
CURRENCY wordt geïmplementeerd als een geheel getal van 8 bytes dat met 10.000 wordt geschaald. Deze schaalaanpassing geeft een vast puntnummer met 15 cijfers links van het decimaalteken en 4 cijfers rechts. Het CURRENCY gegevenstype is handig voor berekeningen met geld of voor berekeningen met vaste punten waarbij nauwkeurigheid belangrijk is.
De CComCurrency wrapper implementeert rekenkundige bewerkingen, toewijzingen en vergelijkingsbewerkingen voor dit type vast punt. De ondersteunde toepassingen zijn geselecteerd om de afrondingsfouten te beheren die kunnen optreden tijdens berekeningen met vaste punten.
Het CComCurrency object biedt toegang tot de getallen aan beide zijden van het decimaalteken in de vorm van twee onderdelen: een geheel getal, waarin de waarde links van het decimaalteken wordt opgeslagen en een breukonderdeel, waarin de waarde rechts van het decimaalteken wordt opgeslagen. Het fractionele onderdeel wordt intern opgeslagen als een geheel getal tussen -9999 (CY_MIN_FRACTION) en +9999 (CY_MAX_FRACTION). De methode CComCurrency::GetFraction retourneert een waarde die is geschaald met een factor van 10000 (CY_SCALE).
Wanneer u het gehele getal en de breukonderdelen van een CComCurrency object opgeeft, moet u er rekening mee houden dat het fractionele onderdeel een getal is in het bereik van 0 tot en met 9999. Deze overweging is belangrijk bij het omgaan met een valuta zoals de Amerikaanse dollar. Dollarbedragen worden meestal uitgedrukt met slechts twee significante cijfers na het decimaalteken. Hoewel de laatste twee cijfers niet worden weergegeven, moeten ze in aanmerking worden genomen.
| Waarde | Mogelijke CComCurrency-toewijzingen |
|---|---|
| $ 10,50 |
CComCurrency(10,5000) of CComCurrency(10.50) |
| $ 10,05 |
CComCurrency(10,500) of CComCurrency(10.05) |
De waarden CY_MIN_FRACTION, CY_MAX_FRACTIONen CY_SCALE worden gedefinieerd in atlcur.h.
Requirements
Koptekst: atlcur.h
CComCurrency::CComCurrency
De constructor.
CComCurrency() throw();
CComCurrency(const CComCurrency& curSrc) throw();
CComCurrency(CURRENCY cySrc) throw();
CComCurrency(DECIMAL dSrc);
CComCurrency(ULONG ulSrc);
CComCurrency(USHORT usSrc);
CComCurrency(CHAR cSrc);
CComCurrency(DOUBLE dSrc);
CComCurrency(FLOAT fSrc);
CComCurrency(LONG lSrc);
CComCurrency(SHORT sSrc);
CComCurrency(BYTE bSrc);
CComCurrency(LONGLONG nInteger, SHORT nFraction);
explicit CComCurrency(LPDISPATCH pDispSrc);
explicit CComCurrency(const VARIANT& varSrc);
explicit CComCurrency(LPCWSTR szSrc);
explicit CComCurrency(LPCSTR szSrc);
Parameterwaarden
curSrc
Een bestaand CComCurrency object.
cySrc
Een variabele van het type CURRENCY.
bSrc, , dSrcfSrc, lSrc, , sSrc, , ulSrcusSrc
De initiële waarde die aan de lidvariabele m_currencywordt gegeven.
cSrc
Een teken met de initiële waarde die aan de lidvariabele m_currencyis gegeven.
nInteger, nFraction
Het gehele getal en de fractionele onderdelen van de oorspronkelijke monetaire waarde. Zie het CComCurrency overzicht voor meer informatie.
pDispSrc
Een IDispatch aanwijzer.
varSrc
Een variabele van het type VARIANT. De landinstelling van de huidige thread wordt gebruikt om de conversie uit te voeren.
szSrc
Een Unicode- of ANSI-tekenreeks met de initiële waarde. De landinstelling van de huidige thread wordt gebruikt om de conversie uit te voeren.
Opmerkingen
De constructor stelt de initiële waarde van CComCurrency::m_currencyen accepteert een breed scala aan gegevenstypen, waaronder gehele getallen, tekenreeksen, drijvendekommanummers, CURRENCY variabelen en andere CComCurrency objecten. Als er geen waarde is opgegeven, m_currency wordt deze ingesteld op 0.
Als er een fout optreedt, zoals een overloop, ontbreken de constructors aan een lege uitzonderingsspecificatie (throw()) AtlThrow met een HRESULT beschrijving van de fout.
Wanneer u drijvendekomma- of dubbele waarden gebruikt om een waarde toe te wijzen, moet u er rekening mee houden dat dit CComCurrency(10.50) gelijk is aan CComCurrency(10,5000)en niet CComCurrency(10,50).
CComCurrency::GetCurrencyPtr
Retourneert het adres van een m_currency gegevenslid.
CURRENCY* GetCurrencyPtr() throw();
Retourwaarde
Retourneert het adres van een m_currency gegevenslid
CComCurrency::GetFraction
Roep deze methode aan om het fractionele onderdeel van het CComCurrency object te retourneren.
SHORT GetFraction() const;
Retourwaarde
Retourneert het fractionele onderdeel van het m_currency gegevenslid.
Opmerkingen
Het breukgedeelte is een geheel getal van 4 cijfers tussen -9999 (CY_MIN_FRACTION) en +9999 (CY_MAX_FRACTION).
GetFraction retourneert deze waarde geschaald met 10000 (CY_SCALE). De waarden van CY_MIN_FRACTION, CY_MAX_FRACTIONen CY_SCALE worden gedefinieerd in atlcur.h.
Example
CComCurrency cur(10, 5000);
int nFract;
nFract = cur.GetFraction();
ATLASSERT(nFract == 5000);
CComCurrency::GetInteger
Roep deze methode aan om het gehele getal van een CComCurrency object op te halen.
LONGLONG GetInteger() const;
Retourwaarde
Retourneert het gehele getal van het m_currency gegevenslid.
Example
CComCurrency cur(10, 5000);
LONGLONG nInteger;
nInteger = cur.GetInteger();
ATLASSERT(nInteger == 10);
CComCurrency::m_currency
Het CURRENCY gegevenslid.
CURRENCY m_currency;
Opmerkingen
Dit lid bevat de valuta die wordt geopend en gemanipuleerd door de methoden van deze klasse.
CComCurrency::operator -
Deze operator wordt gebruikt om aftrekken uit te voeren op een CComCurrency object.
CComCurrency operator-() const;
CComCurrency operator-(const CComCurrency& cur) const;
Parameterwaarden
cur
Een CComCurrency-object.
Retourwaarde
Retourneert een CComCurrency object dat het resultaat van de aftrekking aangeeft. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 - CComCurrency(4, 5000);
ATLASSERT(cur2 == CComCurrency(6, 0));
CComCurrency::operator !=
Deze operator vergelijkt twee objecten voor ongelijkheid.
bool operator!= (const CComCurrency& cur) const;
Parameterwaarden
cur
Het CComCurrency object dat moet worden vergeleken.
Retourwaarde
Retourneert TRUE als het item dat wordt vergeleken niet gelijk is aan het CComCurrency object; anders. FALSE
Example
CComCurrency cur1(10, 5000), cur2(10, 5001);
ATLASSERT(cur1 != cur2);
CComCurrency::operator *
Deze operator wordt gebruikt om vermenigvuldigen op een CComCurrency object uit te voeren.
CComCurrency operator*(long nOperand) const;
CComCurrency operator*(const CComCurrency& cur) const;
Parameterwaarden
nOperand
De vermenigvuldiger.
cur
Het CComCurrency object dat wordt gebruikt als vermenigvuldiger.
Retourwaarde
Retourneert een CComCurrency object dat het resultaat van de vermenigvuldiging aangeeft. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 * 2;
ATLASSERT(cur2 == CComCurrency(21, 0));
CComCurrency::operator *=
Deze operator wordt gebruikt om vermenigvuldigen op een CComCurrency object uit te voeren en het resultaat toe te wijzen.
const CComCurrency& operator*= (long nOperand);
const CComCurrency& operator*= (const CComCurrency& cur);
Parameterwaarden
nOperand
De vermenigvuldiger.
cur
Het CComCurrency object dat wordt gebruikt als vermenigvuldiger.
Retourwaarde
Retourneert het bijgewerkte CComCurrency object. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur(10, 5000);
cur *= 2;
ATLASSERT(cur == CComCurrency(21, 0));
CComCurrency::operator /
Deze operator wordt gebruikt om deling uit te voeren op een CComCurrency object.
CComCurrency operator/(long nOperand) const;
Parameterwaarden
nOperand
De deler.
Retourwaarde
Retourneert een CComCurrency object dat het resultaat van de deling aangeeft. Als de deler 0 is, treedt er een assertiefout op.
Example
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 / 10;
ATLASSERT(cur2 == CComCurrency(1, 500));
CComCurrency::operator /=
Deze operator wordt gebruikt om deling uit te voeren op een CComCurrency object en het resultaat toe te wijzen.
const CComCurrency& operator/= (long nOperand);
Parameterwaarden
nOperand
De deler.
Retourwaarde
Retourneert het bijgewerkte CComCurrency object. Als de deler 0 is, treedt er een assertiefout op.
Example
CComCurrency cur(10, 5000);
cur /= 10;
ATLASSERT(cur == CComCurrency(1, 500));
CComCurrency::operator +
Deze operator wordt gebruikt om optellen op een CComCurrency object uit te voeren.
CComCurrency operator+(const CComCurrency& cur) const;
Parameterwaarden
cur
Het CComCurrency object dat moet worden toegevoegd aan het oorspronkelijke object.
Retourwaarde
Retourneert een CComCurrency object dat het resultaat van de toevoeging aangeeft. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 + CComCurrency(4, 5000);
ATLASSERT(cur2 == CComCurrency(15, 0));
CComCurrency::operator +=
Deze operator wordt gebruikt om optellen op een CComCurrency object uit te voeren en het resultaat toe te wijzen aan het huidige object.
const CComCurrency& operator+= (const CComCurrency& cur);
Parameterwaarden
cur
Het CComCurrency-object.
Retourwaarde
Retourneert het bijgewerkte CComCurrency object. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur(10, 2500);
cur += CComCurrency(4, 2500);
ATLASSERT(cur == CComCurrency(14, 5000));
CComCurrency::operator <
Met deze operator worden twee CComCurrency objecten vergeleken om de mindere objecten te bepalen.
bool operator<(const CComCurrency& cur) const;
Parameterwaarden
cur
Een CComCurrency-object.
Retourwaarde
Retourneert TRUE als het eerste object kleiner is dan het tweede, FALSE anders.
Example
CComCurrency cur1(10, 4900);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 < cur2);
CComCurrency::operator <=
Deze operator vergelijkt twee CComCurrency objecten om gelijkheid te bepalen of minder.
bool operator<= (const CComCurrency& cur) const;
Parameterwaarden
cur
Een CComCurrency-object.
Retourwaarde
Retourneert TRUE als het eerste object kleiner is dan of gelijk is aan het tweede, FALSE anders.
Example
CComCurrency cur1(10, 4900);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 <= cur2);
CComCurrency::operator =
Met deze operator wordt het CComCurrency object toegewezen aan een nieuwe waarde.
const CComCurrency& operator= (const CComCurrency& curSrc) throw();
const CComCurrency& operator= (CURRENCY cySrc) throw();
const CComCurrency& operator= (FLOAT fSrc);
const CComCurrency& operator= (SHORT sSrc);
const CComCurrency& operator= (LONG lSrc);
const CComCurrency& operator= (BYTE bSrc);
const CComCurrency& operator= (USHORT usSrc);
const CComCurrency& operator= (DOUBLE dSrc);
const CComCurrency& operator= (CHAR cSrc);
const CComCurrency& operator= (ULONG ulSrc);
const CComCurrency& operator= (DECIMAL dSrc);
Parameterwaarden
curSrc
Een CComCurrency-object.
cySrc
Een variabele van het type CURRENCY.
sSrc, , lSrcfSrc, bSrc, , usSrc, dSrc, ulSrccSrcdSrc
De numerieke waarde die moet worden toegewezen aan het CComCurrency object.
Retourwaarde
Retourneert het bijgewerkte CComCurrency object. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur1, cur2(10, 5000);
CURRENCY cy;
// Copying one object to another
cur1 = cur2;
// Using the CURRENCY data type
cy.int64 = 105000;
cur1 = cy;
ATLASSERT(cur1 == cur2);
CComCurrency::operator -=
Deze operator wordt gebruikt om aftrekken uit te voeren op een CComCurrency object en het resultaat toe te wijzen.
const CComCurrency& operator-= (const CComCurrency& cur);
Parameterwaarden
cur
Een CComCurrency-object.
Retourwaarde
Retourneert het bijgewerkte CComCurrency object. Als er een fout optreedt, zoals een overloop, roept AtlThrow deze operator een HRESULT beschrijving van de fout aan.
Example
CComCurrency cur(10, 5000);
cur -= CComCurrency(4, 5000);
ATLASSERT(cur == CComCurrency(6, 0));
CComCurrency::operator ==
Deze operator vergelijkt twee CComCurrency objecten voor gelijkheid.
bool operator== (const CComCurrency& cur) const;
Parameterwaarden
cur
Het CComCurrency object dat moet worden vergeleken.
Retourwaarde
Retourneert TRUE als de objecten gelijk zijn (dat wil gezegd, de m_currency gegevensleden, zowel gehele getallen als breuken, in beide objecten dezelfde waarde hebben), FALSE anders.
Example
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1;
ATLASSERT(cur1 == cur2);
CComCurrency::operator >
Deze operator vergelijkt twee CComCurrency objecten om de grotere te bepalen.
bool operator>(const CComCurrency& cur) const;
Parameterwaarden
cur
Een CComCurrency-object.
Retourwaarde
Retourneert TRUE als het eerste object groter is dan het tweede, FALSE anders.
Example
CComCurrency cur1(10, 5100);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 > cur2);
CComCurrency::operator >=
Deze operator vergelijkt twee CComCurrency objecten om gelijkheid te bepalen of groter.
bool operator>= (const CComCurrency& cur) const;
Parameterwaarden
cur
Een CComCurrency-object.
Retourwaarde
Retourneert TRUE als het eerste object groter is dan of gelijk is aan het tweede, FALSE anders.
Example
CComCurrency cur1(10, 5100);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 >= cur2);
CComCurrency::operator CURRENCY
Deze operators worden gebruikt om een CComCurrency object naar een CURRENCY gegevenstype te casten.
operator CURRENCY&() throw();
operator const CURRENCY&() const throw();
Retourwaarde
Retourneert een verwijzing naar een CURRENCY object.
Example
CComCurrency cur(10, 5000);
CURRENCY cy = static_cast<CURRENCY>(cur); // Note that explicit cast is not necessary
ATLASSERT(cy.int64 == 105000);
CComCurrency::Round
Roep deze methode aan om de valuta af te ronden op een opgegeven aantal decimalen.
HRESULT Round(int nDecimals);
Parameterwaarden
nDecimals
Het aantal cijfers dat m_currency wordt afgerond, in het bereik van 0 tot 4.
Retourwaarde
Retourneert S_OK een geslaagde fout of een fout HRESULT bij een fout.
Example
CComCurrency cur(10, 1234);
cur.Round(3);
ATLASSERT(cur.GetFraction() == 1230);
CComCurrency::SetFraction
Roep deze methode aan om het fractionele onderdeel van een CComCurrency object in te stellen.
HRESULT SetFraction(SHORT nFraction);
Parameterwaarden
nFraction
De waarde die moet worden toegewezen aan het fractionele onderdeel van het m_currency gegevenslid. Het teken van het breukonderdeel moet hetzelfde zijn als het gehele getal en de waarde moet zich in het bereik -9999 (CY_MIN_FRACTION) tot +9999 (CY_MAX_FRACTION) bevinden.
Retourwaarde
Retourneert S_OK een geslaagde fout of een fout HRESULT bij een fout.
Example
CComCurrency cur(10, 0);
cur.SetFraction(5000);
ATLASSERT(CComCurrency(10, 5000) == cur);
CComCurrency::SetInteger
Roep deze methode aan om het gehele getal van een CComCurrency object in te stellen.
HRESULT SetInteger(LONGLONG nInteger);
Parameterwaarden
nInteger
De waarde die moet worden toegewezen aan het gehele getal van het m_currency gegevenslid. Het teken van het gehele getal moet overeenkomen met het teken van het bestaande breukonderdeel.
nInteger moet binnen het bereik CY_MIN_INTEGER liggen tot CY_MAX_INTEGER, inclusief. Deze waarden worden gedefinieerd in atlcur.h.
Retourwaarde
Retourneert S_OK een geslaagde fout of een fout HRESULT bij een fout.
Example
CComCurrency cur(0, 5000);
cur.SetInteger(10);
ATLASSERT(CComCurrency(10, 5000) == cur);