Member 14588284 Ответов: 2

Как я могу изменить формат номера 3 цифры


Привет я попробовал суммировать коды для изменения формата номера но не получил 3 значного номера

мой град "18"
я хочу "018"

Что я уже пробовал:

Dim deg = .Rows(0).Cells(0).Value

                MsgBox(deg.ToString("000"))

MadMyche

Возможно, вам следует дать более точные описания и определения ваших ценностей и ожиданий.

2 Ответов

Рейтинг:
4

Garth J Lancaster

Я бы так и подумал

String.Format("{0:0.000}", deg)


Member 14588284

я попробовал это как
MsgBox(Строка.Формат("{000}", град))
но его же ценность
град=18
Строка.Формат("{000}", град) =18
Строка.Формат("{0:0.000}", град) = 18

Garth J Lancaster

извините - неправильно понял ваш вопрос

как насчет

deg.ToString().PadLeft(3, "0"c)


- это .PadLeft()... вот что здесь важно

Member 14588284

Большое спасибо!.
он работал

Рейтинг:
1

OriginalGriff

В дополнение к предложению Гарта, не просто используйте Dim и надеюсь, что система разберется с этим - она не может сделать вывод из Value свойство какого типа deg должно быть. Укажите точно, какой тип вы ожидаете, и он начнет работать.

Dim deg1 = gridSelectMusician.Rows(0).Cells(0).Value

Debug.WriteLine(deg1.ToString("000"))
Debug.WriteLine(deg1.ToString("0.00"))
Я дам тебе это:
1
1
Потому что deg1 это Object так что он использует Object.ToString
Dim deg2 As Double = gridSelectMusician.Rows(0).Cells(0).Value

Debug.WriteLine(deg2.ToString("000"))
Debug.WriteLine(deg2.ToString("0.00"))
Это даст вам лучший результат:
001
1.23
Потому что он может использовать Double.ToString переопределение, принимающее параметр формата.

Как правило, чертовски хорошая идея всегда указывать свои типы - позволяя системе сортировать их, вы можете вызвать всевозможные проблемы! (И это только одна из причин, по которой VB часто рассматривается как детский язык)


Garth J Lancaster

да, я и сам задавался этим вопросом - мои мысли вернулись к недавней дискуссии C# 'var'!