millorada la funció de posar separadors de milers
This commit is contained in:
@@ -277,37 +277,21 @@ void HiScoreTable::updateFade()
|
|||||||
std::string HiScoreTable::format(int number)
|
std::string HiScoreTable::format(int number)
|
||||||
{
|
{
|
||||||
const std::string separator = ".";
|
const std::string separator = ".";
|
||||||
|
const std::string score = std::to_string(number);
|
||||||
if (number < 1000)
|
|
||||||
{
|
|
||||||
return std::to_string(number);
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (number >= 1000 && number < 1000000)
|
int index = (int)score.size() - 1;
|
||||||
|
std::string result = "";
|
||||||
|
int i = 0;
|
||||||
|
while (index >= 0)
|
||||||
{
|
{
|
||||||
const std::string num1 = std::to_string(number / 1000);
|
result = score.at(index) + result;
|
||||||
const std::string num2 = std::to_string(number % 1000);
|
index--;
|
||||||
return num1 + separator + fillZeros(num2);
|
i++;
|
||||||
}
|
if (i == 3)
|
||||||
|
{
|
||||||
else if (number >= 1000000)
|
i = 0;
|
||||||
{
|
result = separator + result;
|
||||||
const std::string num1 = std::to_string(number / 1000000);
|
}
|
||||||
const std::string num2 = std::to_string(number % 1000000 / 1000);
|
|
||||||
const std::string num3 = std::to_string(number % 1000000 % 1000);
|
|
||||||
return num1 + separator + fillZeros(num2) + separator + fillZeros(num3);
|
|
||||||
}
|
|
||||||
|
|
||||||
return std::to_string(number);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Añade ceros a una cadena
|
|
||||||
std::string HiScoreTable::fillZeros(std::string text, int size)
|
|
||||||
{
|
|
||||||
std::string result = text;
|
|
||||||
for (int i=(int)text.size(); i < size; ++i)
|
|
||||||
{
|
|
||||||
result = '0' + result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -58,9 +58,6 @@ private:
|
|||||||
// Convierte un entero a un string con separadores de miles
|
// Convierte un entero a un string con separadores de miles
|
||||||
std::string format(int number);
|
std::string format(int number);
|
||||||
|
|
||||||
// Añade ceros a una cadena
|
|
||||||
std::string fillZeros(std::string text, int size = 3);
|
|
||||||
|
|
||||||
// Transforma un valor numérico en una cadena de 6 cifras
|
// Transforma un valor numérico en una cadena de 6 cifras
|
||||||
std::string scoreToString(int num);
|
std::string scoreToString(int num);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user