Целое число формата для строкового представления с 5 цифрами

Для второй части вы можете использовать анонимную функцию aka. функция замыкания

function flatten_multi_array_and_get_unique($multi)
{
    $objTmp = (object) array('aFlat' => array());
    array_walk_recursive($multi, function(&$v, $k, &$t){ $t->aFlat[] = $v; }, $objTmp);

    $res = array_unique($objTmp->aFlat);

    return $res;
}

Найти интересно? Читать дальше

5
задан Fionnuala 19 November 2008 в 18:13
поделиться

4 ответа

Можно использовать функции обработки строк для этого.

Это принимает классический ASP с VBScript (исходная версия ответа).

Const NUMBER_DIGITS = 5

Dim myInteger
Dim formatedInteger

myInteger = 999
formatedInteger = Right(String(NUMBER_DIGITS, "0") & myInteger, NUMBER_DIGITS)

Здесь оптимизированная версия, перенесенная в функцию, предлагая дополнение переменной ширины:

Const NUMBER_PADDING = "000000000000" ' a few zeroes more just to make sure

Function ZeroPadInteger(i, numberOfDigits)
  ZeroPadInteger = Right(NUMBER_PADDING & i, numberOfDigits)
End Function

' Call in code:

strNumber = ZeroPadInteger(myInteger, 5)
9
ответ дан 13 December 2019 в 05:44
поделиться

Действительно, необходимо спросить себя, почему Вы могли бы хотеть это.

Если это в целях дисплея затем, вероятно, лучше применить строковую функцию форматирования (будет один) к Вашему целому числу, при дисплее.

С другой стороны, если Вам нужен он для внутренней обработки, т.е. Вы всегда ожидаете пять цифр в цикле или что бы то ни было, но Вы не ожидаете делать арифметику на значении, затем преобразовывать целое число в строку сначала и затем делаете любую обработку.

Короче говоря, преобразуйте целочисленную переменную в строку и хранилище в новой переменной, затем используйте это.

0
ответ дан 13 December 2019 в 05:44
поделиться

Что-то вроде этого - то, что я видел большую часть времени:

function PadNumber(number, width)
   dim padded : padded = cStr(number)

   while (len(padded) < width)
       padded = "0" & padded
   wend

   PadNumber = padded
end function

PadNumber(999, 5) '00999
2
ответ дан 13 December 2019 в 05:44
поделиться

Попробуйте это за остроту (хорошо, два с ошибочным предотвращением):

function padZeroDigits(sVariable, iLength)
    if (iLength <= len(sVariable)) then padZeroDigits = sVariable : exit function : end if
    padZeroDigits = string(iLength - len(sVariable),"0") & sVariable
end function
1
ответ дан 13 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: