Поведение по умолчанию для преобразования числовых значений - «Контекст», что в основном означает, что если число обрабатывается по-арабски, они отображаются на арабском языке (или другой «нелатинский» символ), если нет, то отображаются в »стандартные "европейские номера.
Вы можете довольно легко изменить это поведение, хотя:
var culture = CultureInfo.CurrentCulture;
culture.NumberFormat.DigitSubstitution = DigitShapes.NativeNational; // Always use native characters
string formatted = string.Format(culture, "{0:d}{1:d}{2:d}", currentItem, of, count);
Это должно работать так, как вы ожидаете - подробнее о MSDN .