Я только начал использовать Unity, и я не знаю, как правильно отлаживать скрипты во время работы в моем дизайнере кода VS.Проблемы с String.Format и TimeSpan
У меня есть этот код в сценарий, который обыкновение давать мне формат я хочу:
private string GetTimeElapsedAsString()
{
TimeSpan timeElapsed = DateTime.Now.Subtract(_startTime);
return string.Format("{0:mm} {1:ss} {2:ff}", timeElapsed.TotalMinutes, timeElapsed.TotalSeconds, timeElapsed.TotalMilliseconds);
}
Что я хочу что-то вроде этого: «00:07:32» в данном формате: «мм: ss: ff "
Я просто хочу, чтобы самый простой способ отрезать все, кроме 2 цифр каждого блока времени. Любые идеи?
С уважением, Кальрин.
EDIT (прогрессивное разверление): Я изменил код. Теперь это выглядит следующим образом:
private string GetTimeElapsedAsString()
{
TimeSpan timeElapsed = DateTime.Now.Subtract(_startTime);
return string.Format("{0:00}:{1:00}:{2:00}", timeElapsed.Minutes, timeElapsed.Seconds, timeElapsed.Milliseconds);
}
Тем не менее, когда я иду, чтобы проверить мою игру я получаю 3 цифры, отображающие миллисекунды - Почему это происходит ??
выглядит так: UI Text component in Unity
EDIT: Я нашел решение моей последнего вопроса:
return string.Format("{0:00}:{1:00}:{2}", timeElapsed.Minutes, timeElapsed.Seconds, timeElapsed.Milliseconds.ToString().Substring(0,2));
Все, что мне нужно было создать .substring (0,2), содержащий только 2 первых цифры целого числа.
Thx для тех, кто пытался помочь! выглядит красиво !!:
Ура!
Спасибо это работает! :) Можете ли вы сказать мне, что есть лучший способ сделать это? Кроме того, есть ли что-нибудь, что я могу сделать в IFormatProvider для включения «:» между каждой единицей? – Kalrin
Вы можете поместить ':' s в строку. – SLaks
Спасибо! - Не могли бы вы взглянуть на мое редактирование в сообщении? - Кажется, я получаю 3 цифры в последнем формате (миллисекунды). – Kalrin