Переопределение метода ToString для Double - Visual Basic .NET
Формулировка задачи:
Итак! Имеется класс X в котором есть свойство G типа Double.
Высчитать арккосинус не беда, вопрос как в свойстве G переопределить метод ToString что бы возвращала не 0, а нужную мне строку. Переопределять X.ToString нежелательно. Или же все же проще сделать отдельный джетер?
Решение задачи: «Переопределение метода ToString для Double»
textual
Листинг программы
Public Class DegreeFormatter Implements IFormatProvider, ICustomFormatter Public Function Format(frmt As String, arg As Object, formatProvider As IFormatProvider) As String Implements ICustomFormatter.Format If (Not (TypeOf arg Is Double)) AndAlso (Not (TypeOf arg Is Single)) AndAlso (Not (TypeOf arg Is Decimal)) Then Return arg.ToString() End If Return ToDegrees(arg) End Function Private Function ToDegrees(val As Double) As String Dim isNeg = Math.Sign(val) < 0 Dim angle = Math.Abs(val) Dim degrees = CInt(Math.Floor(angle)) Dim minutes = (angle - degrees) * 60 Return String.Format("{2}{0}°{1:00}'", degrees, minutes, If(isNeg, "-", "")) End Function Public Function GetFormat(formatType As Type) As Object Implements IFormatProvider.GetFormat Return If(formatType Is GetType(ICustomFormatter), Me, Nothing) End Function End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д