Merge pull request #6225

987c3139 print_coinbase_tx_sum now supports 128 bits sums (moneromooo-monero)
This commit is contained in:
Alexander Blair 2020-02-28 19:48:10 -08:00
commit 4371ac4265
No known key found for this signature in database
GPG key ID: C64552D877C32479
8 changed files with 50 additions and 16 deletions

View file

@ -996,17 +996,31 @@ namespace cryptonote
}
}
//---------------------------------------------------------------
std::string print_money(uint64_t amount, unsigned int decimal_point)
static void insert_money_decimal_point(std::string &s, unsigned int decimal_point)
{
if (decimal_point == (unsigned int)-1)
decimal_point = default_decimal_point;
std::string s = std::to_string(amount);
if(s.size() < decimal_point+1)
{
s.insert(0, decimal_point+1 - s.size(), '0');
}
if (decimal_point > 0)
s.insert(s.size() - decimal_point, ".");
}
//---------------------------------------------------------------
std::string print_money(uint64_t amount, unsigned int decimal_point)
{
std::string s = std::to_string(amount);
insert_money_decimal_point(s, decimal_point);
return s;
}
//---------------------------------------------------------------
std::string print_money(const boost::multiprecision::uint128_t &amount, unsigned int decimal_point)
{
std::stringstream ss;
ss << amount;
std::string s = ss.str();
insert_money_decimal_point(s, decimal_point);
return s;
}
//---------------------------------------------------------------

View file

@ -38,6 +38,7 @@
#include "crypto/crypto.h"
#include "crypto/hash.h"
#include <unordered_map>
#include <boost/multiprecision/cpp_int.hpp>
namespace epee
{
@ -139,6 +140,7 @@ namespace cryptonote
unsigned int get_default_decimal_point();
std::string get_unit(unsigned int decimal_point = -1);
std::string print_money(uint64_t amount, unsigned int decimal_point = -1);
std::string print_money(const boost::multiprecision::uint128_t &amount, unsigned int decimal_point = -1);
//---------------------------------------------------------------
template<class t_object>
bool t_serializable_object_from_blob(t_object& to, const blobdata& b_blob)