millorada la funció de posar separadors de milers

This commit is contained in:
2024-07-14 22:13:11 +02:00
parent fef9a4f9a0
commit ff4b21d06d
2 changed files with 13 additions and 32 deletions

View File

@@ -277,37 +277,21 @@ void HiScoreTable::updateFade()
std::string HiScoreTable::format(int number)
{
const std::string separator = ".";
const std::string score = std::to_string(number);
if (number < 1000)
int index = (int)score.size() - 1;
std::string result = "";
int i = 0;
while (index >= 0)
{
return std::to_string(number);
}
else if (number >= 1000 && number < 1000000)
{
const std::string num1 = std::to_string(number / 1000);
const std::string num2 = std::to_string(number % 1000);
return num1 + separator + fillZeros(num2);
}
else if (number >= 1000000)
{
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;
result = score.at(index) + result;
index--;
i++;
if (i == 3)
{
i = 0;
result = separator + result;
}
}
return result;

View File

@@ -58,9 +58,6 @@ private:
// Convierte un entero a un string con separadores de miles
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
std::string scoreToString(int num);