Свойство Text
уже является строкой, а метод ToString()
для строки не имеет требуемой перегрузки.
Поскольку, похоже, одно и то же текстовое поле может содержать как отформатированный, так и неотформатированныйверсия значения, что вы можете сделать, это сначала удалить любое форматирование, преобразовать в числовой тип, такой как Integer
или Decimal
, а затем использовать метод ToString()
оттуда:
Public Function FormatDividend(dividend As String) As String
Dim extraCharacters As New Regex("[^\d,.-]")
dividend = extraCharacters.Replace(dividend, "")
Return FormatDividend(CDec(dividend))
End Function
Public Function FormatDividend(dividend As Decimal) As String
Return Dividend.ToString("###,###,##0")
End Function
Вы можете вызывать эти функции следующим образом:
txtDividend.Text = FormatDividend(txtDividend.Text)
И, конечно, вы можете настроить это выражение по своему усмотрению или изменить перегрузку и привести к использованию Integer вместо Decimal.