This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:cast:todoublegeneric [09.10.2014 09:42:27] yaslaw |
vba:cast:todoublegeneric [17.08.2021 10:22:25] (current) yaslaw [Enumerator] |
||
---|---|---|---|
Line 1: | Line 1: | ||
<const> | <const> | ||
- | version=1.2.0 | + | version=1.4.0 |
- | vdate=14.02.2014 | + | vdate=14.011.2016 |
fname=cast_todblgeneric.bas | fname=cast_todblgeneric.bas | ||
ns=%NAMESPACE% | ns=%NAMESPACE% | ||
Line 11: | Line 11: | ||
====== [VBA] toDoubleGeneric() ====== | ====== [VBA] toDoubleGeneric() ====== | ||
- | ==Version %%version%% %%vdate%%== | + | //Dies ist eine flexible Cast-Funktion um Strings mit verschiedenen Anordnungen von Tausender- und |
+ | Dezimaltrennzeichen in ein Double zu wandeln. | ||
+ | // | ||
+ | ==Version %%version%% - %%vdate%%== | ||
{{%%fname%%|Download %%fname%% (V-%%version%%)}} | {{%%fname%%|Download %%fname%% (V-%%version%%)}} | ||
- | |||
- | Dies ist eine flexible Cast-Funktion um Strings mit verschiedenen Anordnungen von Tausender- und | ||
- | Dezimaltrennzeichen in ein Double zu wandeln. | ||
Bei mir waren das vor allem Export aus SAP, die im folgenden Format vorlagen: ''1.234.567,89-'' | Bei mir waren das vor allem Export aus SAP, die im folgenden Format vorlagen: ''1.234.567,89-'' | ||
Line 30: | Line 29: | ||
<code vb>Public Function toDblGeneric( _ | <code vb>Public Function toDblGeneric( _ | ||
Optional ByVal iNumberV As Variant = Null, _ | Optional ByVal iNumberV As Variant = Null, _ | ||
- | Optional ByVal iDelemiterHandling As tngDelemiterHandling = tngDecimal, _ | + | Optional ByVal iDelemiterHandling As tngDelemiterHandling = tngDecimal _ |
- | Optional iClearCache As Boolean = False _ | + | |
) As Double</code> | ) As Double</code> | ||
Line 37: | Line 35: | ||
***//iNumberV//** String oder Nummer, welche gecasted werden soll | ***//iNumberV//** String oder Nummer, welche gecasted werden soll | ||
***//iDelemiterHandling//** tngDelemiterHandling handelt das verhalten beim Speziealfall 1.234 | ***//iDelemiterHandling//** tngDelemiterHandling handelt das verhalten beim Speziealfall 1.234 | ||
- | ***//iClearCache//** lag um den Cache neu aufzubauen. Ist mehr in der Programmierphase interessant, wenn man an dem Pattern herumspielt | ||
==== Enumerator ==== | ==== Enumerator ==== | ||
=== tngDelemiterHandling === | === tngDelemiterHandling === | ||
Line 47: | Line 44: | ||
End Enum</code> | End Enum</code> | ||
- | ***tngDecimal** Beim Trennzeichen handelt es sich um ein Dezimaltrennzeichen (Standart) | + | ***tngDecimal** Beim Trennzeichen handelt es sich um ein Dezimaltrennzeichen (Standard) |
***tngThousend** Beim Trennzeichen handelt es sich um ein Tausendertrennzeichen | ***tngThousend** Beim Trennzeichen handelt es sich um ein Tausendertrennzeichen | ||
==== Rückgabewert ==== | ==== Rückgabewert ==== | ||
Line 94: | Line 91: | ||
print_r toDblGeneric("1,234,567", tngDecimal) | print_r toDblGeneric("1,234,567", tngDecimal) | ||
<Double> 1234567 | <Double> 1234567 | ||
+ | |||
+ | 'Mit dem E-Faktor | ||
+ | print_r toDblGeneric("2.3 e2") | ||
+ | <Double> 230 | ||
</code> | </code> | ||
===== Vergleich mit anderen Cast-Funktionen für Double ===== | ===== Vergleich mit anderen Cast-Funktionen für Double ===== | ||
- | {{section>.:compairetodoublefunctions#Vergleichstabelle&noheader&firstseconly}} | + | {{section>:vba:compairetodoublefunctions#Vergleichstabelle&noheader&firstseconly}} |
===== Code ===== | ===== Code ===== | ||
<source '%%fpath%%/%%fname%%' vb> | <source '%%fpath%%/%%fname%%' vb> |