Bagikan melalui


CComCurrency Kelas

CComCurrency memiliki metode dan operator untuk membuat dan mengelola CURRENCY objek.

Sintaks

class CComCurrency;

Anggota

Konstruktor Publik

Nama Deskripsi
CComCurrency::CComCurrency Konstruktor untuk CComCurrency objek.

Metode Publik

Nama Deskripsi
CComCurrency::GetCurrencyPtr Mengembalikan alamat m_currency anggota data.
CComCurrency::GetFraction Panggil metode ini untuk mengembalikan komponen pecahan CComCurrency objek.
CComCurrency::GetInteger Panggil metode ini untuk mengembalikan komponen bilangan bulat objek CComCurrency .
CComCurrency::Round Panggil metode ini untuk membulatkan CComCurrency objek ke nilai bilangan bulat terdekat.
CComCurrency::SetFraction Panggil metode ini untuk mengatur komponen pecahan CComCurrency objek.
CComCurrency::SetInteger Panggil metode ini untuk mengatur komponen bilangan CComCurrency bulat objek.

Operator publik

Nama Deskripsi
CComCurrency::operator - Operator ini digunakan untuk melakukan pengurangan pada objek CComCurrency .
CComCurrency::operator != Membandingkan dua CComCurrency objek untuk ketidaksamaan.
CComCurrency::operator * Operator ini digunakan untuk melakukan perkalian pada objek CComCurrency .
CComCurrency::operator *= Operator ini digunakan untuk melakukan perkalian pada CComCurrency objek dan menetapkan hasilnya.
CComCurrency::operator / Operator ini digunakan untuk melakukan pembagian pada objek CComCurrency .
CComCurrency::operator /= Operator ini digunakan untuk melakukan pembagian pada CComCurrency objek dan menetapkan hasilnya.
CComCurrency::operator + Operator ini digunakan untuk melakukan penambahan CComCurrency pada objek.
CComCurrency::operator += Operator ini digunakan untuk melakukan penambahan CComCurrency pada objek dan menetapkan hasilnya ke objek saat ini.
CComCurrency::operator < Operator ini membandingkan dua CComCurrency objek untuk menentukan lebih sedikit.
CComCurrency::operator <= Operator ini membandingkan dua CComCurrency objek untuk menentukan kesetaraan atau lebih rendah.
CComCurrency::operator = Operator ini menetapkan objek ke CComCurrency nilai baru.
CComCurrency::operator -= Operator ini digunakan untuk melakukan pengurangan pada CComCurrency objek dan menetapkan hasilnya.
CComCurrency::operator == Operator ini membandingkan dua CComCurrency objek untuk kesetaraan.
CComCurrency::operator > Operator ini membandingkan dua CComCurrency objek untuk menentukan yang lebih besar.
CComCurrency::operator >= Operator ini membandingkan dua CComCurrency objek untuk menentukan kesetaraan atau yang lebih besar.
CComCurrency::operator CURRENCY Melemparkan CURRENCY objek.

Anggota data publik

Nama Deskripsi
CComCurrency::m_currency Variabel CURRENCY yang dibuat oleh instans kelas Anda.

Keterangan

CComCurrency adalah pembungkus untuk CURRENCY jenis data. CURRENCY diimplementasikan sebagai nilai bilangan bulat pelengkap dua 8 byte yang diskalakan sebesar 10.000. Penskalaan ini memberikan angka titik tetap dengan 15 digit kiri titik desimal dan 4 digit di sebelah kanan. CURRENCY Jenis data berguna untuk perhitungan yang melibatkan uang, atau untuk perhitungan titik tetap di mana akurasi penting.

Pembungkus CComCurrency mengimplementasikan operasi aritmetika, penugasan, dan perbandingan untuk jenis titik tetap ini. Aplikasi yang didukung telah dipilih untuk mengontrol kesalahan pembulatan yang dapat terjadi selama perhitungan titik tetap.

Objek CComCurrency menyediakan akses ke angka di salah satu sisi titik desimal dalam bentuk dua komponen: komponen bilangan bulat, yang menyimpan nilai di sebelah kiri titik desimal, dan komponen pecahan, yang menyimpan nilai di sebelah kanan titik desimal. Komponen pecahan disimpan secara internal sebagai nilai bilangan bulat antara -9999 (CY_MIN_FRACTION) dan +9999 (CY_MAX_FRACTION). Metode CComCurrency::GetFraction mengembalikan nilai yang diskalakan oleh faktor 10000 (CY_SCALE).

Saat menentukan komponen bilangan bulat dan pecahan CComCurrency objek, ingatlah bahwa komponen pecahan adalah angka dalam rentang 0 hingga 9999. Pertimbangan ini penting ketika berhadapan dengan mata uang seperti dolar AS. Jumlah dolar biasanya dinyatakan hanya menggunakan dua digit signifikan setelah titik desimal. Meskipun dua digit terakhir tidak ditampilkan, mereka harus diperhitungkan.

Nilai Kemungkinan penetapan CComCurrency
$10,50 CComCurrency(10,5000) atau CComCurrency(10.50)
$10,05 CComCurrency(10,500) atau CComCurrency(10.05)

Nilai CY_MIN_FRACTION, CY_MAX_FRACTION, dan CY_SCALE didefinisikan dalam atlcur.h.

Persyaratan

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

Parameter

curSrc
Objek yang CComCurrency sudah ada.

cySrc
Variabel jenis CURRENCY.

bSrc, , dSrcfSrc, lSrc, sSrc, , ulSrc,usSrc
Nilai awal yang diberikan ke variabel m_currencyanggota .

cSrc
Karakter yang berisi nilai awal yang diberikan ke variabel m_currencyanggota .

nInteger, nFraction
Komponen bilangan bulat dan pecahan nilai moneter awal. Untuk informasi selengkapnya, lihat CComCurrency gambaran umum.

pDispSrc
Penunjuk IDispatch .

varSrc
Variabel jenis VARIANT. Lokal utas saat ini digunakan untuk melakukan konversi.

szSrc
String Unicode atau ANSI yang berisi nilai awal. Lokal utas saat ini digunakan untuk melakukan konversi.

Keterangan

Konstruktor menetapkan nilai CComCurrency::m_currencyawal , dan menerima berbagai jenis data, termasuk bilangan bulat, string, angka titik mengambang, CURRENCY variabel, dan objek lainnya CComCurrency . Jika tidak ada nilai yang disediakan, m_currency diatur ke 0.

Jika ada kesalahan, seperti luapan, konstruktor tidak memiliki panggilan AtlThrow spesifikasi pengecualian kosong (throw()) dengan yang HRESULT menjelaskan kesalahan.

Saat menggunakan nilai floating-point atau ganda untuk menetapkan nilai, ingatlah bahwa itu CComCurrency(10.50) setara dengan CComCurrency(10,5000), dan bukan CComCurrency(10,50).

CComCurrency::GetCurrencyPtr

Mengembalikan alamat m_currency anggota data.

CURRENCY* GetCurrencyPtr() throw();

Nilai hasil

Mengembalikan alamat m_currency anggota data

CComCurrency::GetFraction

Panggil metode ini untuk mengembalikan komponen pecahan CComCurrency objek.

SHORT GetFraction() const;

Nilai hasil

Mengembalikan komponen pecahan anggota m_currency data.

Keterangan

Komponen pecahan adalah nilai bilangan bulat 4 digit antara -9999 (CY_MIN_FRACTION) dan +9999 (CY_MAX_FRACTION). GetFraction mengembalikan nilai ini yang diskalakan sebesar 10000 (CY_SCALE). CY_MIN_FRACTIONNilai , CY_MAX_FRACTION, dan CY_SCALE didefinisikan dalam atlcur.h.

Contoh

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

CComCurrency::GetInteger

Panggil metode ini untuk mendapatkan komponen bilangan bulat objek CComCurrency .

LONGLONG GetInteger() const;

Nilai hasil

Mengembalikan komponen bilangan bulat anggota m_currency data.

Contoh

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

CComCurrency::m_currency

Anggota CURRENCY data.

CURRENCY m_currency;

Keterangan

Anggota ini memegang mata uang yang diakses dan dimanipulasi oleh metode kelas ini.

CComCurrency::operator -

Operator ini digunakan untuk melakukan pengurangan pada objek CComCurrency .

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

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan objek yang CComCurrency mewakili hasil pengurangan. Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

CComCurrency::operator !=

Operator ini membandingkan dua objek untuk ketidaksamaan.

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

Parameter

cur
Objek CComCurrency yang akan dibandingkan.

Nilai hasil

Mengembalikan TRUE jika item yang dibandingkan tidak sama dengan CComCurrency objek; jika tidak, FALSE.

Contoh

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

CComCurrency::operator *

Operator ini digunakan untuk melakukan perkalian pada objek CComCurrency .

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

Parameter

nOperand
Pengali.

cur
Objek yang CComCurrency digunakan sebagai pengali.

Nilai hasil

Mengembalikan objek yang CComCurrency mewakili hasil perkalian. Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

CComCurrency::operator *=

Operator ini digunakan untuk melakukan perkalian pada CComCurrency objek dan menetapkan hasilnya.

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

Parameter

nOperand
Pengali.

cur
Objek yang CComCurrency digunakan sebagai pengali.

Nilai hasil

Mengembalikan objek yang diperbarui CComCurrency . Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

CComCurrency::operator /

Operator ini digunakan untuk melakukan pembagian pada objek CComCurrency .

CComCurrency operator/(long nOperand) const;

Parameter

nOperand
Pembavis.

Nilai hasil

Mengembalikan objek yang CComCurrency mewakili hasil pembagian. Jika pembavisor adalah 0, kegagalan pernyataan akan terjadi.

Contoh

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

CComCurrency::operator /=

Operator ini digunakan untuk melakukan pembagian pada CComCurrency objek dan menetapkan hasilnya.

const CComCurrency& operator/= (long nOperand);

Parameter

nOperand
Pembavis.

Nilai hasil

Mengembalikan objek yang diperbarui CComCurrency . Jika pembavisor adalah 0, kegagalan pernyataan akan terjadi.

Contoh

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

CComCurrency::operator +

Operator ini digunakan untuk melakukan penambahan CComCurrency pada objek.

CComCurrency operator+(const CComCurrency& cur) const;

Parameter

cur
Objek CComCurrency yang akan ditambahkan ke objek asli.

Nilai hasil

Mengembalikan objek yang CComCurrency mewakili hasil penambahan. Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

CComCurrency::operator +=

Operator ini digunakan untuk melakukan penambahan CComCurrency pada objek dan menetapkan hasilnya ke objek saat ini.

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

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan objek yang diperbarui CComCurrency . Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

CComCurrency::operator <

Operator ini membandingkan dua CComCurrency objek untuk menentukan lebih sedikit.

bool operator<(const CComCurrency& cur) const;

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan TRUE jika objek pertama kurang dari yang kedua, FALSE jika tidak.

Contoh

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

CComCurrency::operator <=

Operator ini membandingkan dua CComCurrency objek untuk menentukan kesetaraan atau lebih rendah.

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

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan TRUE jika objek pertama kurang dari atau sama dengan yang kedua, FALSE jika tidak.

Contoh

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

CComCurrency::operator =

Operator ini menetapkan objek ke CComCurrency nilai baru.

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

Parameter

curSrc
Objek CComCurrency.

cySrc
Variabel jenis CURRENCY.

sSrc, , lSrcfSrc, bSrc, usSrc, dSrc, cSrc, , ulSrc,dSrc
Nilai numerik untuk ditetapkan ke CComCurrency objek.

Nilai hasil

Mengembalikan objek yang diperbarui CComCurrency . Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

Operator ini digunakan untuk melakukan pengurangan pada CComCurrency objek dan menetapkan hasilnya.

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

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan objek yang diperbarui CComCurrency . Jika ada kesalahan, seperti luapan, operator ini memanggil AtlThrow dengan menjelaskan HRESULT kesalahan.

Contoh

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

CComCurrency::operator ==

Operator ini membandingkan dua CComCurrency objek untuk kesetaraan.

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

Parameter

cur
Objek CComCurrency yang akan dibandingkan.

Nilai hasil

Mengembalikan TRUE jika objek sama (yaitu, m_currency anggota data, bilangan bulat dan pecahan, di kedua objek memiliki nilai yang sama), FALSE jika tidak.

Contoh

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

CComCurrency::operator >

Operator ini membandingkan dua CComCurrency objek untuk menentukan yang lebih besar.

bool operator>(const CComCurrency& cur) const;

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan TRUE jika objek pertama lebih besar dari yang kedua, FALSE jika tidak.

Contoh

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

CComCurrency::operator >=

Operator ini membandingkan dua CComCurrency objek untuk menentukan kesetaraan atau yang lebih besar.

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

Parameter

cur
Objek CComCurrency.

Nilai hasil

Mengembalikan TRUE jika objek pertama lebih besar dari atau sama dengan yang kedua, FALSE jika tidak.

Contoh

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

CComCurrency::operator CURRENCY

Operator ini digunakan untuk melemparkan CComCurrency objek ke CURRENCY jenis data.

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

Nilai hasil

Mengembalikan referensi ke CURRENCY objek.

Contoh

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

CComCurrency::Round

Panggil metode ini untuk membulatkan mata uang ke jumlah tempat desimal tertentu.

HRESULT Roundint nDecimals);

Parameter

nDecimals
Jumlah digit yang m_currency akan dibulatkan, dalam rentang 0 hingga 4.

Nilai hasil

Mengembalikan S_OK keberhasilan, atau kesalahan HRESULT saat gagal.

Contoh

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

CComCurrency::SetFraction

Panggil metode ini untuk mengatur komponen pecahan CComCurrency objek.

HRESULT SetFraction(SHORT nFraction);

Parameter

nFraction
Nilai yang akan ditetapkan ke komponen pecahan anggota m_currency data. Tanda komponen pecahan harus sama dengan komponen bilangan bulat, dan nilainya harus dalam rentang -9999 (CY_MIN_FRACTION) hingga +9999 (CY_MAX_FRACTION).

Nilai hasil

Mengembalikan S_OK keberhasilan, atau kesalahan HRESULT saat gagal.

Contoh

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

CComCurrency::SetInteger

Panggil metode ini untuk mengatur komponen bilangan CComCurrency bulat objek.

HRESULT SetInteger(LONGLONG nInteger);

Parameter

nInteger
Nilai yang akan ditetapkan ke komponen bilangan bulat m_currency anggota data. Tanda komponen bilangan bulat harus cocok dengan tanda komponen pecahan yang ada.

nInteger harus dalam rentang CY_MIN_INTEGER ke CY_MAX_INTEGER, inklusif. Nilai-nilai ini didefinisikan dalam atlcur.h.

Nilai hasil

Mengembalikan S_OK keberhasilan, atau kesalahan HRESULT saat gagal.

Contoh

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

Lihat juga

COleCurrency class
CURRENCY
Gambaran umum kelas