mirror of
https://github.com/monero-project/monero.git
synced 2025-05-02 12:46:06 -04:00
print_coinbase_tx_sum now supports 128 bits sums
The tail emission will bring the total above 64 bits
This commit is contained in:
parent
411f1b0ee3
commit
987c3139dc
8 changed files with 50 additions and 16 deletions
|
@ -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;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue