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
, , dSrc
fSrc
, lSrc
, sSrc
, , ulSrc
,usSrc
Nilai awal yang diberikan ke variabel m_currency
anggota .
cSrc
Karakter yang berisi nilai awal yang diberikan ke variabel m_currency
anggota .
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_currency
awal , 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_FRACTION
Nilai , 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
, , lSrc
fSrc
, 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);