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 10.317 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
Neu! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Tipp des Monats Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |