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.784 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 März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
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. |