VB.Net Tutorial/Operator/Mod

Материал из VB Эксперт
Версия от 15:54, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Use Mod to fix degree

<source lang="vbnet">Public Class Tester

   Public Shared Function FixRange(ByVal origValue As Double, _
         ByVal rangeMin As Double, ByVal rangeMax As Double) _
         As Double
       Dim shiftedValue As Double
       Dim delta As Double
       shiftedValue = origValue - rangeMin
       delta = rangeMax - rangeMin
       Return (((shiftedValue Mod delta) + delta) Mod delta) + _
          rangeMin
   End Function
   Public Shared Sub Main
       Dim result As New System.Text.StringBuilder
       Dim formatDegrees As String = "Degrees: {0}  Range: {1},{2}  Value: {3}"
       Dim formatRadians As String = "Radians: {0}  Range: {1},{2}  Value: {3}"
       Dim degrees As Double
       Dim radians As Double
       Dim ranged As Double
       " ----- Degrees over the range.
       degrees = 367.75
       ranged = FixRange(degrees, 0, 360)
       result.AppendLine(String.Format(formatDegrees,degrees, 0, 360, ranged))
       " ----- Radians over the range.
       radians = Math.PI * 3.33
       ranged = FixRange(radians, -Math.PI, Math.PI)
       result.AppendLine(String.Format(formatRadians, _
          radians, -Math.PI, Math.PI, ranged))
       Console.WriteLine(result.ToString())
   End Sub

End Class</source>

Degrees: 367.75  Range: 0,360  Value: 7.75
Radians: 10.461503536454  Range: -3.14159265358979,3.14159265358979  Value: -2.10486707790516