Aracılığıyla paylaş


CComCurrency Sınıf

CComCurrency bir nesne oluşturmak ve yönetmek için yöntemlere ve işleçlere CURRENCY sahiptir.

Sözdizimi

class CComCurrency;

Üyeler

Ortak oluşturucular

Veri Akışı Adı Açıklama
CComCurrency::CComCurrency Bir CComCurrency nesnenin oluşturucusunun.

Genel yöntemler

Veri Akışı Adı Açıklama
CComCurrency::GetCurrencyPtr Veri m_currency üyesinin adresini döndürür.
CComCurrency::GetFraction Bir CComCurrency nesnenin kesirli bileşenini döndürmek için bu yöntemi çağırın.
CComCurrency::GetInteger Bir CComCurrency nesnenin tamsayı bileşenini döndürmek için bu yöntemi çağırın.
CComCurrency::Round Bir CComCurrency nesneyi en yakın tamsayı değerine yuvarlama için bu yöntemi çağırın.
CComCurrency::SetFraction Bir CComCurrency nesnenin kesirli bileşenini ayarlamak için bu yöntemi çağırın.
CComCurrency::SetInteger Bir CComCurrency nesnenin tamsayı bileşenini ayarlamak için bu yöntemi çağırın.

Genel işleçler

Veri Akışı Adı Açıklama
CComCurrency::operator - Bu işleç, bir CComCurrency nesne üzerinde çıkarma gerçekleştirmek için kullanılır.
CComCurrency::operator != Eşitsizlik için iki CComCurrency nesneyi karşılaştırır.
CComCurrency::operator * Bu işleç, bir CComCurrency nesne üzerinde çarpma gerçekleştirmek için kullanılır.
CComCurrency::operator *= Bu işleç, bir CComCurrency nesnede çarpma gerçekleştirmek ve sonucu atamak için kullanılır.
CComCurrency::operator / Bu işleç, bir CComCurrency nesne üzerinde bölme gerçekleştirmek için kullanılır.
CComCurrency::operator /= Bu işleç, bir CComCurrency nesne üzerinde bölme gerçekleştirmek ve sonucu atamak için kullanılır.
CComCurrency::operator + Bu işleç, bir CComCurrency nesne üzerinde toplama gerçekleştirmek için kullanılır.
CComCurrency::operator += Bu işleç, bir CComCurrency nesne üzerinde toplama gerçekleştirmek ve sonucu geçerli nesneye atamak için kullanılır.
CComCurrency::operator < Bu işleç, daha azını belirlemek için iki CComCurrency nesneyi karşılaştırır.
CComCurrency::operator <= Bu işleç, eşitliği veya daha azını belirlemek için iki CComCurrency nesneyi karşılaştırır.
CComCurrency::operator = Bu işleç nesneyi yeni bir değere atar CComCurrency .
CComCurrency::operator -= Bu işleç, bir CComCurrency nesne üzerinde çıkarma gerçekleştirmek ve sonucu atamak için kullanılır.
CComCurrency::operator == Bu işleç eşitlik için iki CComCurrency nesneyi karşılaştırır.
CComCurrency::operator > Bu işleç, daha büyük olanını belirlemek için iki CComCurrency nesneyi karşılaştırır.
CComCurrency::operator >= Bu işleç, eşitliği veya daha büyük olanını belirlemek için iki CComCurrency nesneyi karşılaştırır.
CComCurrency::operator CURRENCY Bir nesneyi atar CURRENCY .

Genel veri üyeleri

Veri Akışı Adı Açıklama
CComCurrency::m_currency CURRENCY Sınıf örneğiniz tarafından oluşturulan değişken.

Açıklamalar

CComCurrency veri türü için CURRENCY bir sarmalayıcıdır. CURRENCY 10.000 ile ölçeklendirilmiş 8 baytlık ikinin tamamlayıcı tamsayı değeri olarak uygulanır. Bu ölçeklendirme, ondalık ayırıcının 15 basamağını ve sağda 4 basamağı olan sabit noktalı bir sayı verir. Veri CURRENCY türü, para içeren hesaplamalar veya doğruluğun önemli olduğu sabit noktalı hesaplamalar için kullanışlıdır.

Sarmalayıcı, CComCurrency bu sabit nokta türü için aritmetik, atama ve karşılaştırma işlemleri uygular. Desteklenen uygulamalar, sabit noktalı hesaplamalar sırasında oluşabilecek yuvarlama hatalarını denetlemek için seçilmiştir.

nesnesi, CComCurrency ondalık noktasının her iki tarafındaki sayılara iki bileşen biçiminde erişim sağlar: ondalık noktasının solundaki değeri depolayan bir tamsayı bileşeni ve ondalık noktasının sağındaki değeri depolayan kesirli bir bileşen. Kesirli bileşen, -9999 () ile +CY_MAX_FRACTION9999 (CY_MIN_FRACTION) arasında bir tamsayı değeri olarak dahili olarak depolanır. yöntemi CComCurrency::GetFraction , 10000 (CY_SCALE faktörüne göre ölçeklendirilmiş bir değer döndürür.

Bir CComCurrency nesnenin tamsayı ve kesirli bileşenlerini belirtirken, kesirli bileşenin 0 ile 9999 aralığındaki bir sayı olduğunu unutmayın. Bu, ABD doları gibi bir para birimiyle ilgilenirken önemlidir. Dolar tutarları genellikle ondalık ayırıcıdan sonra yalnızca iki önemli basamak kullanılarak ifade edilir. Son iki basamak görüntülenmese de bunların dikkate alınması gerekir.

Değer Olası CComCurrency atamaları
10,50 ABD doları CComCurrency(10,5000) veya CComCurrency(10.50)
10,05 ABD doları CComCurrency(10,500) veya CComCurrency(10.05)

, CY_MAX_FRACTIONve CY_SCALE değerleri CY_MIN_FRACTIONatlcur.h dosyasında tanımlanır.

Gereksinimler

Üst bilgi: atlcur.h

CComCurrency::CComCurrency

Oluşturucu.

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);

Parametreler

curSrc
Varolan bir CComCurrency nesnesi.

cySrc
türünde CURRENCYbir değişken.

bSrc, dSrc, fSrc, , lSrc, sSrc, ulSrc, usSrc
üye değişkenine m_currencyverilen ilk değer.

cSrc
üye değişkenine m_currencyverilen ilk değeri içeren bir karakter.

nInteger, nFraction
İlk parasal değerin tamsayı ve kesirli bileşenleri. Daha fazla bilgi için genel bakışa CComCurrency bakın.

pDispSrc
İşaretçi IDispatch .

varSrc
türünde VARIANTbir değişken. Dönüştürmeyi gerçekleştirmek için geçerli iş parçacığının yerel ayarı kullanılır.

szSrc
İlk değeri içeren bir Unicode veya ANSI dizesi. Dönüştürmeyi gerçekleştirmek için geçerli iş parçacığının yerel ayarı kullanılır.

Açıklamalar

Oluşturucu, ilk değerini CComCurrency::m_currencyayarlar ve tamsayılar, dizeler, kayan nokta sayıları, CURRENCY değişkenler ve diğer CComCurrency nesneler dahil olmak üzere çok çeşitli veri türlerini kabul eder. Değer sağlanmazsa m_currency 0 olarak ayarlanır.

Taşma gibi bir hata varsa, oluşturucuların boş bir özel durum belirtimi (throw()) olmayan oluşturucular, hatayı açıklayan bir HRESULT çağrı AtlThrow içerir.

Değer atamak için kayan nokta veya çift değerler kullanırken, değerinin yerine CComCurrency(10,50)ile eşdeğer CComCurrency(10,5000)olduğunu CComCurrency(10.50) unutmayın.

CComCurrency::GetCurrencyPtr

Veri m_currency üyesinin adresini döndürür.

CURRENCY* GetCurrencyPtr() throw();

Dönüş değeri

Veri üyesinin m_currency adresini verir

CComCurrency::GetFraction

Nesnesinin kesirli bileşenini döndürmek için bu yöntemi çağırın CComCurrency .

SHORT GetFraction() const;

Dönüş değeri

Veri üyesinin kesirli bileşenini m_currency döndürür.

Açıklamalar

Kesirli bileşen, -9999 () ile +CY_MAX_FRACTION9999 (CY_MIN_FRACTION) arasında 4 basamaklı bir tamsayı değeridir. GetFraction 10000 (CY_SCALE) ile ölçeklendirilmiş bu değeri döndürür. , CY_MAX_FRACTIONve CY_SCALE değerleri CY_MIN_FRACTIONatlcur.h içinde tanımlanır.

Örnek

CComCurrency cur(10, 5000);
int nFract;
nFract = cur.GetFraction();
ATLASSERT(nFract == 5000);   

CComCurrency::GetInteger

Bir CComCurrency nesnenin tamsayı bileşenini almak için bu yöntemi çağırın.

LONGLONG GetInteger() const;

Dönüş değeri

Veri üyesinin m_currency tamsayı bileşenini döndürür.

Örnek

CComCurrency cur(10, 5000);
LONGLONG nInteger;
nInteger = cur.GetInteger();
ATLASSERT(nInteger == 10);   

CComCurrency::m_currency

Veri CURRENCY üyesi.

CURRENCY m_currency;

Açıklamalar

Bu üye, bu sınıfın yöntemleri tarafından erişilen ve yönlendirilen para birimini tutar.

CComCurrency::operator -

Bu işleç, bir CComCurrency nesne üzerinde çıkarma gerçekleştirmek için kullanılır.

CComCurrency operator-() const;
CComCurrency operator-(const CComCurrency& cur) const;

Parametreler

cur
Bir CComCurrency nesnesi.

Dönüş değeri

Çıkarma işleminin sonucunu temsil eden bir CComCurrency nesne döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 - CComCurrency(4, 5000);
ATLASSERT(cur2 == CComCurrency(6, 0));   

CComCurrency::operator !=

Bu işleç, eşitsizlik için iki nesneyi karşılaştırır.

bool operator!= (const CComCurrency& cur) const;

Parametreler

cur
Karşılaştırılacak CComCurrency nesne.

Dönüş değeri

Karşılaştırılan öğe nesneye CComCurrency eşit değilse döndürürTRUE; aksi takdirde, FALSEdöndürür.

Örnek

CComCurrency cur1(10, 5000), cur2(10, 5001);
ATLASSERT(cur1 != cur2);   

CComCurrency::operator *

Bu işleç, bir CComCurrency nesne üzerinde çarpma gerçekleştirmek için kullanılır.

CComCurrency operator*(long nOperand) const;
CComCurrency operator*(const CComCurrency& cur) const;

Parametreler

nOperand
Çarpan.

cur
Çarpan CComCurrency olarak kullanılan nesne.

Dönüş değeri

Çarpmanın sonucunu temsil eden bir CComCurrency nesne döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 * 2;
ATLASSERT(cur2 == CComCurrency(21, 0));   

CComCurrency::operator *=

Bu işleç, bir CComCurrency nesnede çarpma gerçekleştirmek ve sonucu atamak için kullanılır.

const CComCurrency& operator*= (long nOperand);
const CComCurrency& operator*= (const CComCurrency& cur);

Parametreler

nOperand
Çarpan.

cur
Çarpan CComCurrency olarak kullanılan nesne.

Dönüş değeri

Güncelleştirilmiş CComCurrency nesneyi döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

CComCurrency cur(10, 5000);
cur *= 2;
ATLASSERT(cur == CComCurrency(21, 0));   

CComCurrency::operator /

Bu işleç, bir CComCurrency nesne üzerinde bölme gerçekleştirmek için kullanılır.

CComCurrency operator/(long nOperand) const;

Parametreler

nOperand
Bölen.

Dönüş değeri

Bölmenin sonucunu temsil eden bir CComCurrency nesne döndürür. Bölen 0 ise, onay hatası oluşur.

Örnek

CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 / 10;
ATLASSERT(cur2 == CComCurrency(1, 500));

CComCurrency::operator /=

Bu işleç, bir CComCurrency nesne üzerinde bölme gerçekleştirmek ve sonucu atamak için kullanılır.

const CComCurrency& operator/= (long nOperand);

Parametreler

nOperand
Bölen.

Dönüş değeri

Güncelleştirilmiş CComCurrency nesneyi döndürür. Bölen 0 ise, onay hatası oluşur.

Örnek

CComCurrency cur(10, 5000);
cur /= 10;
ATLASSERT(cur == CComCurrency(1, 500));

CComCurrency::operator +

Bu işleç, bir CComCurrency nesne üzerinde toplama gerçekleştirmek için kullanılır.

CComCurrency operator+(const CComCurrency& cur) const;

Parametreler

cur
Özgün CComCurrency nesneye eklenecek nesne.

Dönüş değeri

Toplamanın sonucunu temsil eden bir CComCurrency nesne döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

CComCurrency cur1(10, 5000), cur2;
cur2 = cur1 + CComCurrency(4, 5000);
ATLASSERT(cur2 == CComCurrency(15, 0));

CComCurrency::operator +=

Bu işleç, bir CComCurrency nesne üzerinde toplama gerçekleştirmek ve sonucu geçerli nesneye atamak için kullanılır.

const CComCurrency& operator+= (const CComCurrency& cur);

Parametreler

cur
CComCurrency nesnesi.

Dönüş değeri

Güncelleştirilmiş CComCurrency nesneyi döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

CComCurrency cur(10, 2500);
cur += CComCurrency(4, 2500);
ATLASSERT(cur == CComCurrency(14, 5000));

CComCurrency::operator <

Bu işleç, daha azını belirlemek için iki CComCurrency nesneyi karşılaştırır.

bool operator<(const CComCurrency& cur) const;

Parametreler

cur
Bir CComCurrency nesnesi.

Dönüş değeri

İlk nesne ikinciden küçükse döndürür TRUE , FALSE aksi takdirde.

Örnek

CComCurrency cur1(10, 4900);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 < cur2);

CComCurrency::operator <=

Bu işleç, eşitliği veya daha azını belirlemek için iki CComCurrency nesneyi karşılaştırır.

bool operator<= (const CComCurrency& cur) const;

Parametreler

cur
Bir CComCurrency nesnesi.

Dönüş değeri

İlk nesne ikinci nesneden küçük veya buna eşitse, FALSE aksi takdirde döndürürTRUE.

Örnek

CComCurrency cur1(10, 4900);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 <= cur2);

CComCurrency::operator =

Bu işleç nesneyi yeni bir değere atar CComCurrency .

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);

Parametreler

curSrc
Bir CComCurrency nesnesi.

cySrc
türünde CURRENCYbir değişken.

sSrc, fSrc, lSrc, , bSrc, usSrc, dSrc, cSrc, ulSrc, dSrc
Nesneye atanacak CComCurrency sayısal değer.

Dönüş değeri

Güncelleştirilmiş CComCurrency nesneyi döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

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 -=

Bu işleç, bir CComCurrency nesne üzerinde çıkarma gerçekleştirmek ve sonucu atamak için kullanılır.

const CComCurrency& operator-= (const CComCurrency& cur);

Parametreler

cur
Bir CComCurrency nesnesi.

Dönüş değeri

Güncelleştirilmiş CComCurrency nesneyi döndürür. Taşma gibi bir hata varsa, bu işleç hatayı açıklayan bir HRESULT çağrı ile çağırırAtlThrow.

Örnek

CComCurrency cur(10, 5000);
cur -= CComCurrency(4, 5000);
ATLASSERT(cur == CComCurrency(6, 0));

CComCurrency::operator ==

Bu işleç eşitlik için iki CComCurrency nesneyi karşılaştırır.

bool operator== (const CComCurrency& cur) const;

Parametreler

cur
Karşılaştıracak CComCurrency nesne.

Dönüş değeri

Nesneler eşitse (diğer bir ifadeyle, her iki nesnedeki m_currency hem tamsayı hem de kesirli veri üyeleri aynı değere sahipse) FALSE döndürürTRUE, aksi takdirde.

Örnek

CComCurrency cur1(10, 5000), cur2;
cur2 = cur1;
ATLASSERT(cur1 == cur2);

CComCurrency::operator >

Bu işleç, daha büyük olanını belirlemek için iki CComCurrency nesneyi karşılaştırır.

bool operator>(const CComCurrency& cur) const;

Parametreler

cur
Bir CComCurrency nesnesi.

Dönüş değeri

İlk nesne ikinciden büyükse, FALSE aksi takdirde döndürürTRUE.

Örnek

CComCurrency cur1(10, 5100);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 > cur2);

CComCurrency::operator >=

Bu işleç, eşitliği veya daha büyük olanını belirlemek için iki CComCurrency nesneyi karşılaştırır.

bool operator>= (const CComCurrency& cur) const;

Parametreler

cur
Bir CComCurrency nesnesi.

Dönüş değeri

İlk nesne ikinci nesneden büyük veya buna eşitse, FALSE aksi takdirde döndürürTRUE.

Örnek

CComCurrency cur1(10, 5100);
CComCurrency cur2(10, 5000);
ATLASSERT(cur1 >= cur2);

CComCurrency::operator CURRENCY

Bu işleçler, bir CComCurrency nesneyi bir veri türüne göndermek için CURRENCY kullanılır.

operator CURRENCY&() throw();
operator const CURRENCY&() const throw();

Dönüş değeri

Bir nesneye CURRENCY başvuru döndürür.

Örnek

CComCurrency cur(10, 5000);
CURRENCY cy = static_cast<CURRENCY>(cur); // Note that explicit cast is not necessary
ATLASSERT(cy.int64 == 105000);

CComCurrency::Round

Para birimini belirtilen sayıda ondalık basam aya yuvarlama için bu yöntemi çağırın.

HRESULT Roundint nDecimals);

Parametreler

nDecimals
0 ile 4 arasında yuvarlanacak basamak m_currency sayısı.

Dönüş değeri

Başarılı olduğunda veya hatada bir hata HRESULT döndürürS_OK.

Örnek

CComCurrency cur(10, 1234);
cur.Round(3);
ATLASSERT(cur.GetFraction() == 1230);   

CComCurrency::SetFraction

Bir CComCurrency nesnenin kesirli bileşenini ayarlamak için bu yöntemi çağırın.

HRESULT SetFraction(SHORT nFraction);

Parametreler

nFraction
Veri üyesinin kesirli bileşenine m_currency atanacak değer. Kesirli bileşenin işareti tamsayı bileşeniyle aynı olmalı ve değer -9999 () ile +9999 (CY_MIN_FRACTIONCY_MAX_FRACTION) aralığında olmalıdır.

Dönüş değeri

Başarılı olduğunda veya hatada bir hata HRESULT döndürürS_OK.

Örnek

CComCurrency cur(10, 0);
cur.SetFraction(5000);
ATLASSERT(CComCurrency(10, 5000) == cur);   

CComCurrency::SetInteger

Bir CComCurrency nesnenin tamsayı bileşenini ayarlamak için bu yöntemi çağırın.

HRESULT SetInteger(LONGLONG nInteger);

Parametreler

nInteger
Veri üyesinin tamsayı bileşenine m_currency atanacak değer. Tamsayı bileşeninin işareti, mevcut kesirli bileşenin işaretiyle eşleşmelidir.

nInteger , (dahil) aralığında CY_MIN_INTEGER CY_MAX_INTEGERolmalıdır. Bu değerler atlcur.h dosyasında tanımlanır.

Dönüş değeri

Başarılı olduğunda veya hatada bir hata HRESULT döndürürS_OK.

Örnek

CComCurrency cur(0, 5000);
cur.SetInteger(10);
ATLASSERT(CComCurrency(10, 5000) == cur);   

Ayrıca bkz.

COleCurrency sınıfı
CURRENCY
Sınıfa genel bakış