price::operator std::string()const { try { auto number = ratio_string(); number += ' ' + fc::to_string(int64_t(quote_asset_id.value)); number += '/' + fc::to_string(int64_t(base_asset_id.value)); return number; } FC_RETHROW_EXCEPTIONS( warn, "" )}
string chain_interface::to_pretty_price( const price& price_to_pretty_print )const { try { auto obase_asset = get_asset_record( price_to_pretty_print.base_asset_id ); if( !obase_asset ) FC_CAPTURE_AND_THROW( unknown_asset_id, (price_to_pretty_print.base_asset_id) ); auto oquote_asset = get_asset_record( price_to_pretty_print.quote_asset_id ); if( !oquote_asset ) FC_CAPTURE_AND_THROW( unknown_asset_id, (price_to_pretty_print.quote_asset_id) ); auto tmp = price_to_pretty_print; tmp.ratio *= obase_asset->get_precision(); tmp.ratio /= oquote_asset->get_precision(); return tmp.ratio_string() + " " + oquote_asset->symbol + " / " + obase_asset->symbol; } FC_CAPTURE_AND_RETHROW( (price_to_pretty_print) ) }