Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
CComCurrency zawiera metody i operatory do tworzenia obiektu i zarządzania nim CURRENCY .
Składnia
class CComCurrency;
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CComCurrency::CComCurrency |
Konstruktor obiektu CComCurrency . |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
CComCurrency::GetCurrencyPtr |
Zwraca adres m_currency elementu członkowskiego danych. |
CComCurrency::GetFraction |
Wywołaj tę metodę, aby zwrócić składnik ułamkowy CComCurrency obiektu. |
CComCurrency::GetInteger |
Wywołaj tę metodę, aby zwrócić składnik liczby całkowitej CComCurrency obiektu. |
CComCurrency::Round |
Wywołaj tę metodę CComCurrency , aby zaokrąglić obiekt do najbliższej wartości całkowitej. |
CComCurrency::SetFraction |
Wywołaj tę metodę, aby ustawić składnik ułamkowy CComCurrency obiektu. |
CComCurrency::SetInteger |
Wywołaj tę metodę, aby ustawić składnik liczby całkowitej CComCurrency obiektu. |
Operatory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CComCurrency::operator - |
Ten operator służy do odejmowania CComCurrency obiektu. |
CComCurrency::operator != |
Porównuje dwa CComCurrency obiekty pod kątem nierówności. |
CComCurrency::operator * |
Ten operator służy do mnożenia obiektu CComCurrency . |
CComCurrency::operator *= |
Ten operator służy do mnożenia obiektu CComCurrency i przypisywania go do wyniku. |
CComCurrency::operator / |
Ten operator służy do wykonywania dzielenia CComCurrency na obiekcie. |
CComCurrency::operator /= |
Ten operator służy do wykonywania dzielenia CComCurrency na obiekcie i przypisywania go do wyniku. |
CComCurrency::operator + |
Ten operator służy do dodawania CComCurrency do obiektu. |
CComCurrency::operator += |
Ten operator służy do dodawania CComCurrency do obiektu i przypisywania wyniku do bieżącego obiektu. |
CComCurrency::operator < |
Ten operator porównuje dwa CComCurrency obiekty, aby określić mniejsze. |
CComCurrency::operator <= |
Ten operator porównuje dwa CComCurrency obiekty w celu określenia równości lub mniejszej. |
CComCurrency::operator = |
Ten operator przypisuje CComCurrency obiekt do nowej wartości. |
CComCurrency::operator -= |
Ten operator służy do odejmowania obiektu CComCurrency i przypisywania go do wyniku. |
CComCurrency::operator == |
Ten operator porównuje dwa CComCurrency obiekty pod kątem równości. |
CComCurrency::operator > |
Ten operator porównuje dwa CComCurrency obiekty w celu określenia większego. |
CComCurrency::operator >= |
Ten operator porównuje dwa CComCurrency obiekty w celu określenia równości lub większej. |
CComCurrency::operator CURRENCY |
Rzutuje CURRENCY obiekt. |
Elementy członkowskie danych publicznych
| Nazwa/nazwisko | opis |
|---|---|
CComCurrency::m_currency |
Zmienna utworzona CURRENCY przez wystąpienie klasy. |
Uwagi
CComCurrency jest otoką typu CURRENCY danych. CURRENCY jest implementowany jako 8-bajtowa wartość całkowita dwu bajtów skalowana przez 10 000. To skalowanie daje liczbę o stałym punkcie z 15 cyfr po lewej stronie przecinka dziesiętnego i 4 cyfry po prawej stronie. Typ CURRENCY danych jest przydatny w przypadku obliczeń obejmujących pieniądze lub w przypadku obliczeń o stałym punkcie, w których dokładność jest ważna.
Otoka CComCurrency implementuje operacje arytmetyczne, przypisania i porównania dla tego typu stałego punktu. Obsługiwane aplikacje zostały wybrane do kontrolowania błędów zaokrąglania, które mogą wystąpić podczas obliczeń o stałym punkcie.
Obiekt CComCurrency zapewnia dostęp do liczb po obu stronach separatora dziesiętnego w postaci dwóch składników: składnika całkowitego, który przechowuje wartość z lewej strony punktu dziesiętnego i składnika ułamkowego, który przechowuje wartość po prawej stronie punktu dziesiętnego. Składnik ułamkowy jest przechowywany wewnętrznie jako wartość całkowita z zakresu od -9999 (CY_MIN_FRACTION) do +9999 (CY_MAX_FRACTION). Metoda CComCurrency::GetFraction zwraca wartość skalowaną przez współczynnik 10000 (CY_SCALE).
Podczas określania składników całkowitych CComCurrency i ułamkowych obiektu należy pamiętać, że składnik ułamkowy jest liczbą z zakresu od 0 do 9999. Ta kwestia jest ważna w przypadku radzenia sobie z walutą, taką jak dolar amerykański. Kwoty w dolarach są często wyrażane przy użyciu tylko dwóch cyfr znaczących po przecinku dziesiętnego. Mimo że ostatnie dwie cyfry nie są wyświetlane, należy je wziąć pod uwagę.
| Wartość | Możliwe przypisania CComCurrency |
|---|---|
| 10,50 USD | CComCurrency(10,5000) lub CComCurrency(10.50) |
| 10,05 USD | CComCurrency(10,500) lub CComCurrency(10.05) |
Wartości CY_MIN_FRACTION, CY_MAX_FRACTIONi CY_SCALE są zdefiniowane w pliku atlcur.h.
Wymagania
Nagłówek: atlcur.h
CComCurrency::CComCurrency
Konstruktor.
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);
Parametry
curSrc
Istniejący CComCurrency obiekt.
cySrc
Zmienna typu CURRENCY.
bSrc, dSrc, , fSrc, lSrc, sSrc, , ulSrcusSrc
Początkowa wartość nadana zmiennej składowej m_currency.
cSrc
Znak zawierający początkową wartość nadaną zmiennej składowej m_currency.
nInteger, nFraction
Początkowa wartość pieniężna to liczba całkowita i składniki ułamkowe. Aby uzyskać więcej informacji, zobacz CComCurrency omówienie.
pDispSrc
Wskaźnik IDispatch .
varSrc
Zmienna typu VARIANT. Ustawienia regionalne bieżącego wątku służą do przeprowadzania konwersji.
szSrc
Ciąg Unicode lub ANSI zawierający wartość początkową. Ustawienia regionalne bieżącego wątku służą do przeprowadzania konwersji.
Uwagi
Konstruktor ustawia początkową wartość CComCurrency::m_currency, i akceptuje szeroką gamę typów danych, w tym liczby całkowite, ciągi, liczby zmiennoprzecinkowe, CURRENCY zmienne i inne CComCurrency obiekty. Jeśli żadna wartość nie zostanie podana, m_currency zostanie ustawiona wartość 0.
Jeśli wystąpi błąd, taki jak przepełnienie, konstruktory nie mają pustej specyfikacji wyjątku (throw()) AtlThrow z opisem HRESULT błędu.
W przypadku używania wartości zmiennoprzecinkowych lub podwójnych w celu przypisania wartości należy pamiętać, że CComCurrency(10.50) jest to odpowiednik CComCurrency(10,5000)wartości , a nie CComCurrency(10,50).
CComCurrency::GetCurrencyPtr
Zwraca adres m_currency elementu członkowskiego danych.
CURRENCY* GetCurrencyPtr() throw();
Wartość zwracana
Zwraca adres m_currency elementu członkowskiego danych
CComCurrency::GetFraction
Wywołaj tę metodę, aby zwrócić składnik CComCurrency ułamkowy obiektu.
SHORT GetFraction() const;
Wartość zwracana
Zwraca składnik ułamkowy m_currency elementu członkowskiego danych.
Uwagi
Składnik ułamkowy jest 4-cyfrową wartością całkowitą z zakresu od -9999 (CY_MIN_FRACTION) do +9999 (CY_MAX_FRACTION). GetFraction Zwraca tę wartość skalowaną o 10000 (CY_SCALE). Wartości CY_MIN_FRACTION, CY_MAX_FRACTIONi CY_SCALE są zdefiniowane w pliku atlcur.h.
Przykład
CComCurrency cur(10, 5000);
int nFract;
nFract = cur.GetFraction();
ATLASSERT(nFract == 5000);
CComCurrency::GetInteger
Wywołaj tę metodę, aby uzyskać składnik liczby całkowitej CComCurrency obiektu.
LONGLONG GetInteger() const;
Wartość zwracana
Zwraca składnik liczb całkowitych elementu m_currency członkowskiego danych.
Przykład
CComCurrency cur(10, 5000);
LONGLONG nInteger;
nInteger = cur.GetInteger();
ATLASSERT(nInteger == 10);
CComCurrency::m_currency
Element członkowski CURRENCY danych.
CURRENCY m_currency;
Uwagi
Ten element członkowski przechowuje walutę dostępną i manipulowaną metodami tej klasy.
CComCurrency::operator -
Ten operator służy do odejmowania CComCurrency obiektu.
CComCurrency operator-() const;
CComCurrency operator-(const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
CComCurrency Zwraca obiekt reprezentujący wynik odejmowania. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 - CComCurrency(4, 5000);
ATLASSERT(cur2 == CComCurrency(6, 0));
CComCurrency::operator !=
Ten operator porównuje dwa obiekty pod kątem nierówności.
bool operator!= (const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency do porównania.
Wartość zwracana
Zwraca wartość TRUE , jeśli porównywany element nie jest równy obiektowi CComCurrency ; w przeciwnym razie FALSEwartość .
Przykład
CComCurrency cur1(10, 5000), cur2(10, 5001);
ATLASSERT(cur1 != cur2);
CComCurrency::operator *
Ten operator służy do mnożenia obiektu CComCurrency .
CComCurrency operator*(long nOperand) const;
CComCurrency operator*(const CComCurrency& cur) const;
Parametry
nOperand
Mnożnik.
cur
Obiekt CComCurrency używany jako mnożnik.
Wartość zwracana
CComCurrency Zwraca obiekt reprezentujący wynik mnożenia. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 * 2;
ATLASSERT(cur2 == CComCurrency(21, 0));
CComCurrency::operator *=
Ten operator służy do mnożenia obiektu CComCurrency i przypisywania go do wyniku.
const CComCurrency& operator*= (long nOperand);
const CComCurrency& operator*= (const CComCurrency& cur);
Parametry
nOperand
Mnożnik.
cur
Obiekt CComCurrency używany jako mnożnik.
Wartość zwracana
Zwraca zaktualizowany CComCurrency obiekt. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
CComCurrency cur(10, 5000);
cur *= 2;
ATLASSERT(cur == CComCurrency(21, 0));
CComCurrency::operator /
Ten operator służy do wykonywania dzielenia CComCurrency na obiekcie.
CComCurrency operator/(long nOperand) const;
Parametry
nOperand
Dzielnik.
Wartość zwracana
CComCurrency Zwraca obiekt reprezentujący wynik dzielenia. Jeśli dzielnika wynosi 0, wystąpi błąd asercyjności.
Przykład
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 / 10;
ATLASSERT(cur2 == CComCurrency(1, 500));
CComCurrency::operator /=
Ten operator służy do wykonywania dzielenia CComCurrency na obiekcie i przypisywania go do wyniku.
const CComCurrency& operator/= (long nOperand);
Parametry
nOperand
Dzielnik.
Wartość zwracana
Zwraca zaktualizowany CComCurrency obiekt. Jeśli dzielnika wynosi 0, wystąpi błąd asercyjności.
Przykład
CComCurrency cur(10, 5000);
cur /= 10;
ATLASSERT(cur == CComCurrency(1, 500));
CComCurrency::operator +
Ten operator służy do dodawania CComCurrency do obiektu.
CComCurrency operator+(const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency , który ma zostać dodany do oryginalnego obiektu.
Wartość zwracana
CComCurrency Zwraca obiekt reprezentujący wynik dodawania. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 + CComCurrency(4, 5000);
ATLASSERT(cur2 == CComCurrency(15, 0));
CComCurrency::operator +=
Ten operator służy do dodawania CComCurrency do obiektu i przypisywania wyniku do bieżącego obiektu.
const CComCurrency& operator+= (const CComCurrency& cur);
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
Zwraca zaktualizowany CComCurrency obiekt. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
CComCurrency cur(10, 2500);
cur += CComCurrency(4, 2500);
ATLASSERT(cur == CComCurrency(14, 5000));
CComCurrency::operator <
Ten operator porównuje dwa CComCurrency obiekty, aby określić mniejsze.
bool operator<(const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
Zwraca wartość TRUE , jeśli pierwszy obiekt jest mniejszy niż drugi, FALSE w przeciwnym razie.
Przykład
CComCurrency cur1(10, 4900);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 < cur2);
CComCurrency::operator <=
Ten operator porównuje dwa CComCurrency obiekty w celu określenia równości lub mniejszej.
bool operator<= (const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
Zwraca TRUE wartość , jeśli pierwszy obiekt jest mniejszy lub równy drugiemu, FALSE w przeciwnym razie.
Przykład
CComCurrency cur1(10, 4900);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 <= cur2);
CComCurrency::operator =
Ten operator przypisuje CComCurrency obiekt do nowej wartości.
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);
Parametry
curSrc
Obiekt CComCurrency.
cySrc
Zmienna typu CURRENCY.
sSrc, fSrc, , lSrc, usSrcbSrc, dSrc, , ulSrccSrcdSrc
Wartość liczbowa, która ma zostać przypisana CComCurrency do obiektu.
Wartość zwracana
Zwraca zaktualizowany CComCurrency obiekt. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
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 -=
Ten operator służy do odejmowania obiektu CComCurrency i przypisywania go do wyniku.
const CComCurrency& operator-= (const CComCurrency& cur);
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
Zwraca zaktualizowany CComCurrency obiekt. Jeśli wystąpi błąd, taki jak przepełnienie, ten operator wywołuje AtlThrow błąd z opisem HRESULT błędu.
Przykład
CComCurrency cur(10, 5000);
cur -= CComCurrency(4, 5000);
ATLASSERT(cur == CComCurrency(6, 0));
CComCurrency::operator ==
Ten operator porównuje dwa CComCurrency obiekty pod kątem równości.
bool operator== (const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency do porównania.
Wartość zwracana
Zwraca TRUE wartość, jeśli obiekty są równe (czyli składowe danych, m_currency zarówno liczba całkowita, jak i ułamkowa, w obu obiektach mają tę samą wartość), FALSE w przeciwnym razie.
Przykład
CComCurrency cur1(10, 5000), cur2;
cur2 = cur1;
ATLASSERT(cur1 == cur2);
CComCurrency::operator >
Ten operator porównuje dwa CComCurrency obiekty w celu określenia większego.
bool operator>(const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
Zwraca wartość TRUE , jeśli pierwszy obiekt jest większy niż drugi, FALSE w przeciwnym razie.
Przykład
CComCurrency cur1(10, 5100);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 > cur2);
CComCurrency::operator >=
Ten operator porównuje dwa CComCurrency obiekty w celu określenia równości lub większej.
bool operator>= (const CComCurrency& cur) const;
Parametry
cur
Obiekt CComCurrency.
Wartość zwracana
Zwraca TRUE wartość , jeśli pierwszy obiekt jest większy lub równy drugiemu, FALSE w przeciwnym razie.
Przykład
CComCurrency cur1(10, 5100);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 >= cur2);
CComCurrency::operator CURRENCY
Te operatory są używane do rzutowania CComCurrency obiektu na CURRENCY typ danych.
operator CURRENCY&() throw();
operator const CURRENCY&() const throw();
Wartość zwracana
Zwraca odwołanie do CURRENCY obiektu.
Przykład
CComCurrency cur(10, 5000);
CURRENCY cy = static_cast<CURRENCY>(cur); // Note that explicit cast is not necessary
ATLASSERT(cy.int64 == 105000);
CComCurrency::Round
Wywołaj tę metodę, aby zaokrąglić walutę do określonej liczby miejsc dziesiętnych.
HRESULT Round(int nDecimals);
Parametry
nDecimals
Liczba cyfr, do których m_currency zostanie zaokrąglona, w zakresie od 0 do 4.
Wartość zwracana
Zwraca wartość S_OK powodzenia lub błąd HRESULT po niepowodzeniu.
Przykład
CComCurrency cur(10, 1234);
cur.Round(3);
ATLASSERT(cur.GetFraction() == 1230);
CComCurrency::SetFraction
Wywołaj tę metodę, aby ustawić składnik ułamkowy CComCurrency obiektu.
HRESULT SetFraction(SHORT nFraction);
Parametry
nFraction
Wartość, która ma zostać przypisana do składnika ułamkowego m_currency elementu członkowskiego danych. Znak składnika ułamkowego musi być taki sam jak składnik całkowity, a wartość musi należeć do zakresu -9999 (CY_MIN_FRACTION) do +9999 (CY_MAX_FRACTION).
Wartość zwracana
Zwraca wartość S_OK powodzenia lub błąd HRESULT po niepowodzeniu.
Przykład
CComCurrency cur(10, 0);
cur.SetFraction(5000);
ATLASSERT(CComCurrency(10, 5000) == cur);
CComCurrency::SetInteger
Wywołaj tę metodę, aby ustawić składnik liczby całkowitej CComCurrency obiektu.
HRESULT SetInteger(LONGLONG nInteger);
Parametry
nInteger
Wartość, która ma zostać przypisana do składnika całkowitego m_currency elementu członkowskiego danych. Znak składnika całkowitego musi być zgodny ze znakiem istniejącego składnika ułamkowego.
nInteger musi znajdować się w zakresie CY_MIN_INTEGER do CY_MAX_INTEGER, włącznie. Te wartości są definiowane w pliku atlcur.h.
Wartość zwracana
Zwraca wartość S_OK powodzenia lub błąd HRESULT po niepowodzeniu.
Przykład
CComCurrency cur(0, 5000);
cur.SetInteger(10);
ATLASSERT(CComCurrency(10, 5000) == cur);