}
}
-QString BitcoinUnits::format(int unit, qint64 n, bool fPlus)
+QString BitcoinUnits::format(int unit, qint64 n, bool fPlus, uint8_t nNumberOfZeros)
{
// Note: not using straight sprintf here because we do NOT want
// localized number formatting.
// Right-trim excess zeros after the decimal point
int nTrim = 0;
- for (int i = remainder_str.size()-1; i>=2 && (remainder_str.at(i) == '0'); --i)
+ for (int i = remainder_str.size()-1; i>=nNumberOfZeros && (remainder_str.at(i) == '0'); --i)
++nTrim;
remainder_str.chop(nTrim);
return quotient_str + QString(".") + remainder_str;
}
-QString BitcoinUnits::formatWithUnit(int unit, qint64 amount, bool plussign)
+QString BitcoinUnits::formatWithUnit(int unit, qint64 amount, bool plussign, uint8_t nNumberOfZeros)
{
- return format(unit, amount, plussign) + QString(" ") + name(unit);
+ return format(unit, amount, plussign, nNumberOfZeros) + QString(" ") + name(unit);
}
bool BitcoinUnits::parse(int unit, const QString &value, qint64 *val_out)
#include <QString>
#include <QAbstractListModel>
+#include <stdint.h>
/** Bitcoin unit definitions. Encapsulates parsing and formatting
and serves as list model for drop-down selection boxes.
*/
//! Number of decimals left
static int decimals(int unit);
//! Format as string
- static QString format(int unit, qint64 amount, bool plussign=false);
+ static QString format(int unit, qint64 amount, bool plussign=false, uint8_t nNumberOfZeros=2);
//! Format as string (with unit)
- static QString formatWithUnit(int unit, qint64 amount, bool plussign=false);
+ static QString formatWithUnit(int unit, qint64 amount, bool plussign=false, uint8_t nNumberOfZeros=2);
//! Parse string to coin amount
static bool parse(int unit, const QString &value, qint64 *val_out);
//! Gets title for amount column including current display unit if optionsModel reference available */
dialog->findChild<QLabel *>("labelCoinControlChange") ->setEnabled(nPayAmount > 0);
// stats
- l1->setText(QString::number(nQuantity)); // Quantity
- l2->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAmount)); // Amount
- l3->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nPayFee)); // Fee
- l4->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee
- l5->setText(((nBytes > 0) ? "~" : "") + QString::number(nBytes)); // Bytes
- l6->setText(sPriorityLabel); // Priority
- l7->setText((fLowOutput ? (fDust ? tr("DUST") : tr("yes")) : tr("no"))); // Low Output / Dust
- l8->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nChange)); // Change
+ l1->setText(QString::number(nQuantity)); // Quantity
+ l2->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAmount)); // Amount
+ l3->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nPayFee, false, 3)); // Fee
+ l4->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee
+ l5->setText(((nBytes > 0) ? "~" : "") + QString::number(nBytes)); // Bytes
+ l6->setText(sPriorityLabel); // Priority
+ l7->setText((fLowOutput ? (fDust ? tr("DUST") : tr("yes")) : tr("no"))); // Low Output / Dust
+ l8->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nChange)); // Change
// turn labels "red"
l5->setStyleSheet((nBytes >= 1000) ? "color:red;" : ""); // Bytes >= 1000