In der Technik werden Zahlen sehr schnell sehr groß oder auch klein. Sie werden dann i.d.R. im wissenschaftlichen Format notiert. Im Sprachgebrauch werden dann aber zur Abkürzung der Aussprache Präfixe benutzt. Beispiel: 56,2 MegaOhm Nachfolgender Code generiert aus einem Wert (-10E24 < Zufallszahl < 10E24) eine auf 3 Nachkommastellen formatierte Zahl mit passendem Präfix. Netter Nebeneffekt: die großen Zufallszahlen ! Viel Spaß. Erstellen Sie für das Beispielprojekt ein neues Projekt mit einem Command-Button "Cmd_Zufallszahl", sowie 2 Label-Controls "lbl_Zufallszahl" und "lbl_Ausgabe". Private Sub Cmd_Zufallszahl_Click() ' eine geeignete Zufallszahl von -10E24 bis 10E24 generieren: ' Mantisse und Exponent wird separat erzeugt! Dim iExponent As Integer Dim sZufallszahl As Single Randomize iExponent = Int(49 * Rnd - 24) ' Exponent -24 bis 24 sZufallszahl = 2 * Rnd - 1 ' von -1 bis (fast) +1 sZufallszahl = sZufallszahl * (10 ^ iExponent) ' unbehandelt ausgeben lbl_Zufallszahl.Caption = sZufallszahl ' behandelt ausgeben lbl_Ausgabe.Caption = FindePräfix(sZufallszahl) End Sub ' Formatiert die Zahl und erzeugt einen passenden Einheiten-Präfix ' Rückgabe als String Public Function FindePräfix(ByVal Wert As Single) As String Dim iExpo As Integer Dim Präfix As String iExpo = 0 ' Wert testen und normieren... If Wert <> 0 Then ' positiv oder negativ If Wert > 0 Then ' Wert positiv While Wert < 1 ' milli, mikro oder so Wert = Wert * 1000: iExpo = iExpo - 1 Wend While Wert >= 1000 ' Kilo, Mega oder so Wert = Wert * 0.001: iExpo = iExpo + 1 Wend Else ' Wert negativ While Wert > -1 Wert = Wert * 1000: iExpo = iExpo - 1 Wend While Not Wert > -1000 Wert = Wert * 0.001: iExpo = iExpo + 1 Wend End If End If ' ...Präfix aufbereiten Select Case iExpo Case -8: Präfix = "yokto" Case -7: Präfix = "zepto" Case -6: Präfix = "atto" Case -5: Präfix = "femto" Case -4: Präfix = "pico" Case -3: Präfix = "nano" Case -2: Präfix = "mikro" Case -1: Präfix = "milli" Case 0: Präfix = "" Case 1: Präfix = "Kilo" Case 2: Präfix = "Mega" Case 3: Präfix = "Giga" Case 4: Präfix = "Tera" Case 5: Präfix = "Peta" Case 6: Präfix = "Exa" Case 7: Präfix = "Zetta" Case 8: Präfix = "Yotta" End Select FindePräfix = Format$(Wert, "0.000") & " " & Präfix End Function Dieser Tipp wurde bereits 9.831 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |