User Tools

Site Tools


vba:cast:roundcurr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
vba:cast:roundcurr [05.01.2015 09:57:59]
yaslaw created
vba:cast:roundcurr [31.05.2017 11:32:34] (current)
yaslaw [Enum rcRoundType]
Line 1: Line 1:
 <​const>​ <​const>​
-    version=1.0.0 +    version=1.1.0 
-    vdate=05.01.2015+    vdate=24.08.2016
     fname=cast_roundcurr.bas     fname=cast_roundcurr.bas
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 9: Line 9:
  
 ====== [VBA] roundCurr() ====== ====== [VBA] roundCurr() ======
 +//Mit der Funktion roundCast() kann man schnell und einfach Währungsrundungen durchführen. Klassisches Beispiel ist die 5-Rappen-Rundung in der Schweiz. Auch andere Rundungen mit einer Genaugkeit lasen sich druchführen.
 +//
 ==Version %%version%% - %%vdate%%== ==Version %%version%% - %%vdate%%==
- 
-Mit der Funktion roundCast() kann man schnell und einfach Währungsrundungen durchführen. Klassisches Beispiel ist die 5-Rappen-Rundung in der Schweiz. 
- 
 {{%%fname%%|Download %%fname%% (V-%%version%%)}} {{%%fname%%|Download %%fname%% (V-%%version%%)}}
  
 ===== Definition ===== ===== Definition =====
-<​code>​Double ​cValue(Double ​[,Double])</​code>​ +<​code>​roundedValue ​roundCurr(value, precision ​[,roundType])</​code>​ 
-<code vb>​roundCurr(ByVal iValue As Double, ByVal iPrecision As Double) As Double</​code>​+<code vb>​roundCurr(ByVal iValue As Double, ByVal iPrecision As Double, Optional ByVal iRoundType As rcRoundType = rcRound) As Double</​code>​
  
   ***iValue** Wert der gerundet werde soll   ***iValue** Wert der gerundet werde soll
-  ***iPrecision** Genauigkeit+  ***iPrecision** Genauigkeit. Achtung: Ist nicht die Anzahl Nachkommastellen. Auf ganze Zahlen Runden ist also nicht 0 sondern 1 (siehe Beispiele) 
 +  ***iRoundType** Art wie gerundet werden soll. Siehe Enum rcRoundType 
 +   
 +==== Enum rcRoundType ==== 
 +<code vb>'/​** 
 +' * Type, wie die Funktion roundCurr() arbeiten soll. Normal runden, Aufrunden, Abrunden 
 +' */ 
 +Public Enum rcRoundType 
 +    rcRound ​    '​0 Normal runden ​                         roundCurr(3.6,​ 0.5) = 3.5 
 +    rcHalfDown ​ '1 Alias zu normal. 0.5 wird abgerundet ​  ​roundCurr(3.25,​ 0.5, rcHalfDown) = 3 
 +    rcHalfUp ​   '2 Ab der Hälfte aufrunden ​               roundCurr(3.25,​ 0.5, rcHalfUp) = 3.5 
 +    rcDowwn ​    '​3 immer abrunden ​                        ​roundCurr(3.4,​ 0.5, rcDowwn) = 3 
 +    rcUp        '4 immer aufrunden ​                       roundCurr(3.1,​ 0.5, rcUp) = 3.5 
 +End Enum</​code>​
  
 ==== Beispiele ==== ==== Beispiele ====
Line 34: Line 46:
 <​Double>​ 123.15 <​Double>​ 123.15
  
-'auf 1 Franken runden.Achtung+'auf 1 Franken runden
 d roundCurr(123.13,​ 1) d roundCurr(123.13,​ 1)
 <​Double>​ 123 <​Double>​ 123
Line 41: Line 53:
 d roundCurr(123.13,​ 0.25) d roundCurr(123.13,​ 0.25)
 <​Double>​ 123.25 <​Double>​ 123.25
 +
 +'auf 50 Franken runden
 +d roundCurr(123.13,​ 50)
 +<​Double>​ 100
 </​code>​ </​code>​
 +
 +Auf/​Abrunden
 +<code vb>'​Normal runden ​                         ​
 +d roundCurr(3.6,​ 0.5) 
 +<​Double>​ 3.5
 +
 +'Alias zu normal. 0.5 wird abgerundet ​  
 +d roundCurr(3.25,​ 0.5, rcHalfDown) ​
 +<​Double>​ 3
 +
 +'Ab der Hälfte aufrunden ​               ​
 +d roundCurr(3.25,​ 0.5, rcHalfUp) ​
 +<​Double>​ 3.5
 +
 +'immer abrunden ​                        
 +d roundCurr(3.4,​ 0.5, rcDowwn) ​
 +<​Double>​ 3
 +
 +'immer aufrunden ​                       ​
 +d roundCurr(3.1,​ 0.5, rcUp) 
 +<​Double>​ 3.5</​code>​
  
 ===== Code ===== ===== Code =====
 +Code zum importieren. Wenn er mit C&P in ein neus Modul eingefügt wird, dann muss die Zeile ''​Attribute VB_Name = "​cast_roundCurr"''​ entfernt werden.
 +
 <source '​%%fpath%%/​%%fname%%'​ vb> <source '​%%fpath%%/​%%fname%%'​ vb>
  
  
vba/cast/roundcurr.1420448279.txt.gz · Last modified: 05.01.2015 09:57:59 by yaslaw