Джеймс, я не уверен, что вы полностью указали проблему.
Если ваша цель - поместить 'x' в центр строки, ответ Самуила не будет работать для 6-значных чисел. String.Format("{0:00x00}", 239851)
возвращает «2398x51» вместо «239x851»
Вместо этого попробуйте:
String.Format(val<10000 ? "{0:00x00}" : "{0:000x000}", val)
В любом случае метод называется Составное форматирование .
(Я предполагаю, что числа будут между 1000 и 999999 включительно. Даже тогда числа от 1000 до 1009 включительно сообщат число после «х» с ненужным начальным «0». Так что, возможно, этот подход верен для значений от 1010 до 999999 включительно.)