double/string to monero integer convertion methods

This commit is contained in:
Ilya Kitaev 2016-06-16 16:42:33 +03:00
parent 3ac20a46b3
commit 3318addafa
3 changed files with 33 additions and 2 deletions

View file

@ -36,6 +36,7 @@
#include "mnemonics/electrum-words.h"
#include <boost/format.hpp>
#include <sstream>
using namespace std;
using namespace cryptonote;
@ -122,6 +123,22 @@ string Wallet::displayAmount(uint64_t amount)
return cryptonote::print_money(amount);
}
uint64_t Wallet::amountFromString(const string &amount)
{
uint64_t result;
cryptonote::parse_amount(result, amount);
return result;
}
uint64_t Wallet::amountFromDouble(double amount)
{
std::stringstream ss;
ss << std::fixed << std::setprecision(CRYPTONOTE_DISPLAY_DECIMAL_POINT) << amount;
return amountFromString(ss.str());
}
///////////////////////// WalletImpl implementation ////////////////////////
WalletImpl::WalletImpl(bool testnet)
:m_wallet(nullptr), m_status(Wallet::Status_Ok), m_trustedDaemon(false),

View file

@ -160,6 +160,8 @@ struct Wallet
virtual uint64_t balance() const = 0;
virtual uint64_t unlockedBalance() const = 0;
static std::string displayAmount(uint64_t amount);
static uint64_t amountFromString(const std::string &amount);
static uint64_t amountFromDouble(double amount);
// TODO?
// virtual uint64_t unlockedDustBalance() const = 0;
virtual bool refresh() = 0;