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_FRACTION
9999 (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_FRACTION
ve CY_SCALE
değerleri CY_MIN_FRACTION
atlcur.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 CURRENCY
bir değişken.
bSrc
, dSrc
, fSrc
, , lSrc
, sSrc
, ulSrc
, usSrc
üye değişkenine m_currency
verilen ilk değer.
cSrc
üye değişkenine m_currency
verilen 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 VARIANT
bir 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_currency
ayarlar 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_FRACTION
9999 (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_FRACTION
ve CY_SCALE
değerleri CY_MIN_FRACTION
atlcur.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, FALSE
dö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 CURRENCY
bir 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_FRACTION
CY_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_INTEGER
olmalı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);