Я написал эту функцию в AS3, которая преобразует миллисекунды в формат считываемого времени: 00:00:00 (hh/mm/ss).Предупреждение о дублировании Flash/AS3 в условном
function convertTime(millis:Number):String {
var Seconds = ((millis/1000) % 60);
var Minutes = (((millis/1000)/60) % 60);
var Hours = ((((millis/1000)/60)/60) % 24);
if (Math.floor(Seconds) < 10) {
var newSeconds = "0" + Math.floor(Seconds);
} else {
var newSeconds = Math.floor(Seconds);
}
if (Math.floor(Minutes) < 10) {
var newMinutes = "0" + Math.floor(Minutes);
} else {
var newMinutes = Math.floor(Minutes);
}
if (Math.floor(Hours) < 10) {
var newHours = "0" + Math.floor(Hours);
} else {
var newHours = Math.floor(Hours);
}
return (newHours + ":" + newMinutes + ":" + newSeconds);
}
Все, кажется, работает, за исключением секунд, которые только когда-либо возвращает одну цифру, которая, я уверен, имеет отношение к следующему:
Вспышки компилятор вырвет «Предупреждение 3596: Повторяющееся определение переменного "для каждого экземпляра переменных, заданных в операторах else?
Я делаю это неправильно?
Несомненно, факт, что они содержатся в условных операторах, должен означать, что каждая переменная задается только один раз справа?
Или я должен быть в явном виде в AS3, отбрасывая else (s)? например:
if (Math.floor(Hours) < 10) {
var newHours = "0" + Math.floor(Hours);
}
if (Math.floor(Hours) >= 10) {
var newHours = Math.floor(Hours);
}
var newHours: Строка должна быть указана перед блоком if/else, введенным как строка, если вы добавите «0». Пример: newHours = "0" + Math.floor (Hours) .toString(); – tatactic
Не могли бы вы пометить этот вопрос, как решили? Это раздражает, чтобы каждый раз проверять этот вопрос. Поскольку проблема отмечена как решившаяся, я знаю, что мне не нужно было ее повторять снова и снова. Вы тоже можете принять свой собственный ответ! Но, пожалуйста, потеряйте эту тему! С уважением. – tatactic