Einführung in die explizite Datentypumwandlung in VBA im Rahmen der Lehre des Programmierens mit der Programmiersprache VBA (VBA cast VBA VBA.Conversion.Cint VBA VBA.Conversion.Cdbl VBA Datentypwandlung VBA Datentypumwandlung VBA ), Lektion, Seite 721053
https://www.purl.org/stefan_ram/pub/vba_typwandlung_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
VBA-Kurs

Typwandlungen in VBA 

Eine Typwandlung ordnet einem Wert eines Datentyps einen Wert eines anderen Datentyps zu. Die Wandlung ist in gewissem Sinne willkürlich, aber sie soll die Erwartungen, den Wert beizubehalten und nur seine Typ zu ändern, so weit wie möglich erfüllen. Beispielsweise würde man als Wandlung des Wertes »5%« (»5«) vom Typ »Integer« in den Typ »Double« den Wert »5#« (»5.0«) erwarten.

Ein Wert der in einen anderen Datentyp gewandelt wurde soll bei der Rückwandlung in den ursprünglichen Datentyp möglichst wieder den ursprünglichen Wert ergeben. Beispielsweise würde man nach einer Wandlung des Wertes »5%« in den Wert »5#« als Ergebnis der Rückwandlung wieder den Wert »5%« (»5«) erwarten.

Typisch für alle Funktionen zur Typwandlung ist es, daß sie genau ein Argument akzeptieren und ein Ergebnis liefern.

Explizite Typwandlungen erfolgen durch Aufruf speziell dafür gedachter Funktionen und könnten in einem Quelltext besser verständlich sein als stillschweigende Typwandlungen und es verständlich machen, daß eine bestimmte Typwandlung vom Programmierer wirklich beabsichtigt ist.

»VBA.Conversion.CInt«

Eine Gleitkommazahl kann durch eine explizite Typwandlung mit der Funktion »VBA.Conversion.CInt« in eine ganze Zahl umgewandelt werden.

Proklamation von »VBA.Conversion.CInt«
Function CInt(Expression) As Integer
Element von VBA.Conversion
Direktbereich
? VBA.Conversion.CInt( 3.2 )
 3
Direktbereich
? VBA.Information.TypeName( VBA.Conversion.CInt( 2.0 ))
Integer

Bei der Umwandlung wird gerundet. Bei ».5« wird dabei aufgerundet, wenn die Zahl vor dem Komma ungerade  ist.

Direktbereich
? VBA.Conversion.CInt( 0.5 )
 0
? VBA.Conversion.CInt( 0.50000000000001 )
 1
? VBA.Conversion.CInt( 0.6 )
 1
? VBA.Conversion.CInt( 1.5 )
 2 
? VBA.Conversion.CInt( 2.5 )
 2 
? VBA.Conversion.CInt( 3.5 )
 4 

Entsprechend bei negativen Zahlen :

Direktbereich
? VBA.Conversion.CInt( -2.1 )
-2 
? VBA.Conversion.CInt( -2.9 )
-3 
? VBA.Conversion.CInt( -2.5 )
-2 
? VBA.Conversion.CInt( -3.5 )
-4 

Auch eine Zeichenfolge  kann nach »Integer« gewandelt werden. Dabei wird das Dezimaltrennzeichen der Umgebung (Windows -Systemsteuerung) verwendet, also beispielsweise ein Komma »,«, wenn dieses mit den Mitteln des Betriebssystems als Dezimaltrennzeichen eingestellt wurde.

Direktbereich (deutsch: das Dezimaltrennzeichen der Umgebung ist »,«, das Tausendertrennzeichen der Umgebung ist ».«)
? VBA.Conversion.CInt( "1.5" )
 15
? VBA.Conversion.CInt( "1,5" )
 2 
Direktbereich (englisch: das Dezimaltrennzeichen der Umgebung ist ».«, das Tausendertrennzeichen der Umgebung ist »,«)
? VBA.Conversion.CInt( "1.5" )
 2
? VBA.Conversion.CInt( "1,5" )
 15 

Zeitpunkte werden – mit einer gewissen Rundung – in die Tage gewandelt, die seit dem 30. Dezember 1899 vergangen sind. Dabei sind Wandlungen nur bis zum größten Integer-Wert «32767» möglich.

Wandlung eines Zeitpunktes
? VBA.Conversion.CInt( #1899-12-30 00:00:00# )
 0  
? VBA.Conversion.CInt( #1899-12-30 12:00:01# )
 1 
? VBA.Conversion.CInt( #1989-09-16 11:59:59# )
 32767

»VBA.Conversion.CDbl«

Mit »VBA.Conversion.CDbl« (convert to double ) kann in den Datentyp »Double« gewandelt werden.

Proklamation von »VBA.Conversion.CDbl«
Function CDbl(Expression) As Double
Element von VBA.Conversion
Direktbereich
? VBA.Conversion.CDbl( 4 )
 4
? VBA.Information.TypeName( 4 )
Integer
? VBA.Information.TypeName( VBA.Conversion.CDbl( 4 ))
Double

Auch diese Funktion akzeptiert auch Zeichenfolgen und interpretiert Dezimal- und Tausendertrennzeichen so, wie diese in der Umgebung (Windows -Systemsteuerung) festgelegt wurden.

Direktbereich (deutsch: das Dezimaltrennzeichen der Umgebung ist »,«, das Tausendertrennzeichen der Umgebung ist ».«)
? VBA.Conversion.CDbl( "123,35" )
 123.35 
? VBA.Conversion.CDbl( "123.35" )
 12335 
Direktbereich (englisch: das Dezimaltrennzeichen der Umgebung ist ».«, das Tausendertrennzeichen der Umgebung ist »,«)
? VBA.Conversion.CDbl( "123.35" )
 123.35 
? VBA.Conversion.CDbl( "123,35" )
 12335 

Bei der Wandlung eines Zeitpunkts in eine Zahl entsprechen die Vorkommstellen ganzen Tagen und die Nachkommastellen der Uhrzeit.

Wandlung eines Zeitpunktes
? VBA.Conversion.CDbl( #2052-01-17 13:07:22# )
 55535.5467824074 

»VBA.Conversion.CStr«

Mit »VBA.Conversion.CStr« (convert to string ) kann in den Datentyp »String« gewandelt werden.

Proklamation von »VBA.Conversion.CStr«
Function CDbl(Expression) As String
Element von VBA.Conversion
Direktbereich (englisch: das Dezimaltrennzeichen der Umgebung ist ».«)
? VBA.Conversion.CStr( 4 )
4
? VBA.Conversion.CStr( -4 )
-4
? VBA.Conversion.CStr( 4.1 )
4.1
? VBA.Conversion.CStr( -4.1 )
-4.1
? VBA.Conversion.CStr( 4001 )
4001
? VBA.Conversion.CStr( 4001.2 )
4001.2

Auch diese Funktion verwendet das Dezimaltrennzeichen so, wie diese in der Umgebung (Windows -Systemsteuerung) festgelegt wurden.

Direktbereich (deutsch: das Dezimaltrennzeichen der Umgebung ist »,«)
? VBA.Conversion.CStr( 4 )
4
? VBA.Conversion.CStr( -4 )
-4
? VBA.Conversion.CStr( 4.1 )
4,1
? VBA.Conversion.CStr( -4.1 )
-4,1
? VBA.Conversion.CStr( 4001 )
4001
? VBA.Conversion.CStr( 4001.2 )
4001,2
Wandlung eines Zeitpunktes
? VBA.Conversion.CStr( #2052-01-17 13:07:22# )
2052-01-17 13:07:22

Man beachte, daß die Format-Funktion weitere Möglichkeiten zur Wandlung eines Zeitpunktes in eine Zeichenfolge bietet. Wir beschreiben hier keine Details, sondern geben nur ein Beispiel.

Formatierung eines Zeitpunktes
? Format( #2052-01-17 13:07:22#, "dddd, d. MMM yyyy" )
Wednesday, 17. Jan 2052

»VBA.Conversion.CDate«

Ein Datum kann mit der Nummerzeichennotation, wie »#2032-08-14#« direkt im Quelltext ausgedrückt werden. Manchmal steht ein Datum aber nur als Zahl oder als Zeichenfolge zur Verfügung. In solchen Fällen kann es mit »VBA.Conversion.CDate« in einen Wert des Typs »Date« gewandelt werden.

Wandlung aus einer Zeichenfolge
? VBA.Conversion.CDate( "2052-01-17 13:07:22" )
2052-01-17 13:07:22 
Wandlung aus einer ganzen Zahl
? VBA.Conversion.CDate( 32767 )
1989-09-16
Wandlung aus einer Gleitkommazahl
? VBA.Conversion.CDate( 55535.5467824074 )
2052-01-17 13:07:22

Der 16. September 1989 ⃗

An diesem Tag geschah nichts besonders Aufregendes. Man findet noch:

In Großbritannien notierte der “New Musical Express ” Madonna's Single “Cherish ” erstmals als Neueinsteiger auf Platz 15.

 

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram721053 stefan_ram:721053 VBA cast VBA VBA.Conversion.Cint VBA VBA.Conversion.Cdbl VBA Datentypwandlung VBA Datentypumwandlung VBA Typwandlung, Typwandlungen, Datentypwandlung, Datentypwandlungen, Typumwandlung, Typumwandlungen, Datentypumwandlung, Datentypumwandlungen, Typverwandlung, Typverwandlungen, Datentypverwandlung, Datentypverwandlungen, Konversation, Konversion, Typkonversation, Typkonversationen, Datentypkonversation, Datentypkonversationen, Typkonversion, Typkonversionen, Datentypkonversion, Datentypkonversionen, cast, casten, umwandeln, konvertieren, wandeln, verwandeln, umformen, Datentypänderung, Datentypänderungen, Typänderung, Typänderungen, Datentypveränderung, Datentypveränderungen, Typveränderung, Typveränderungen, source, source code,sourcecode, Programmier sprache VBA, VBA Programm VBA Sprache VBA Die Programmiersprache VBA Visual Basic for Applications, VisualBasic for Applications, Visual Basic for Aplications, VisualBasic for Aplications, VBA, V.B.A., V B A,, Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721053, slrprddef721053, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/vba_typwandlung_de