Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Скрипт в Uniti

Аноним - Ученик (97), на голосовании 8 месяцев назад
У меня появилась проблема в игре которую создаю после 2млр происходит то что юнити делает это число в минус я решил сделать что по достижению 1000 это число делалось в 1К но не как пойму как это сделать помогите
Голосование за лучший ответ
KrashtGame Гуру (3974) 9 месяцев назад
Вы можете использовать следующий код для преобразования числа в формат 1К в Unity:

C#

public string FormatNumber(int num)
{
if (num >= 1000000)
return (num / 1000000D).ToString("0.##M");
if (num >= 1000)
return (num / 1000D).ToString("0.##K");

return num.ToString("#,0");
}

Этот метод преобразует число в формат 1К или 1М, если оно больше или равно 1000 или 1000000 соответственно. В противном случае, он просто возвращает исходное число. “0.##” в ToString обозначает, что после запятой должно быть не более двух знаков.

Вы можете использовать этот метод в своем коде следующим образом:

C#

int yourNumber = 1234;
string formattedNumber = FormatNumber(yourNumber);
Debug.Log(formattedNumber);

В результате в консоли вы увидите “1.23K”. Пожалуйста, проверьте этот код в своем проекте и сообщите, если у вас возникнут проблемы. Я буду рад помочь! ?
Аноним -Ученик (97) 9 месяцев назад
После написание кода у меня выявилась ошибка конечно наверняка ошибка в моём коде Как это решить или что это означает?
KrashtGame Гуру (3974) Аноним -, напиши мне код колностью
Wqwqw Wqefhgiff Мастер (1243) 9 месяцев назад
Понимаю, вы хотите отображать число в формате "1K" вместо "1000". Для этого вы можете написать функцию, которая преобразует число в строку с нужным форматом. Вот пример такой функции на C# для Unity:
 public static string FormatNumber(int num) 
{
if (num >= 1000000)
return (num / 1000000).ToString("0.#") + "M";
else if (num >= 1000)
return (num / 1000).ToString("0.#") + "K";
else
return num.ToString();
}
Эта функция сначала проверяет, больше ли число миллиона. Если это так, она делит число на миллион, округляет до одного десятичного знака и добавляет "M". Если число меньше миллиона, но больше или равно тысяче, она делит число на тысячу, округляет до одного десятичного знака и добавляет "K". Если число меньше тысячи, она просто преобразует его в строку.

Теперь вы можете использовать эту функцию для отображения чисел в нужном формате. Например:
 int score = 1500; 
string formattedScore = FormatNumber(score);
Debug.Log(formattedScore);
В этом примере formattedScore будет равно "1.5K".
Похожие вопросы