Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 Round(int 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);