![]() |
![]() |
|
|
|||||||
| Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
| Programmierung Rat & Tat für Programmierer |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#31 |
|
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
Da gibt es doch nen speziellen Datentyp CURRENCY den du verwenden kannst. Hat per default nur 2 Nachkommastellen.
Dim EineZahl As Currency EineZahl = 9.8765432 Debug.Print EineZahl sollte 9.87 rauskommen. Alternative: Private Function Abschneid(Was As Double) As Double Abschneid = Val(Left$(Trim(Str(Was)), InStr(1, Trim(Str(Was)), ".") + 2)) End Function Aufruf: Debug.Print Abschneid(9.87654321) Ausgabe: 9.87
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger
|
|
|
|
|
|
#32 |
|
Inventar
![]() |
mh ok das is kürzer
![]() |
|
|
|
|
|
#33 |
|
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
RegExp kann VB ja leider nicht.. sonst wärs ein noch kürzerer Klammerwald...
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger
|
|
|
|
|
|
#34 |
|
Jr. Member
![]() |
muhaha ich brauch die variablen die ich auf zwei kommastellen will nur auf currency deklarieren und das wars?
füllt er mir die dann auch auf zwei kommastelen auf, wenn die zweite kommastelle eine 0 ist? =) das wär nämlich auch sehr wichtig .. sonst hats keinen sinn ![]()
____________________________________
Lieber stehend sterben, als knieend leben! ------------------------------------------------------ ------------V-I-V-A---L-O-S---T-I-O-Z------------ |
|
|
|
|
|
#35 |
|
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
wenn du unbedingt 2 Nachkommastellen brauchst machst du nen string aus der zahl und zwar..
Text = Format(Zahl,"0.00") Das gibt dir dann die Zahl als Text immer mit 2 Nachkommastellen. Hab nachgeschaut.. Currency limitiert auf 4 Nachkommastellen.
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger
|
|
|
|
|
|
#36 |
|
Jr. Member
![]() |
okayy .. danke
![]()
____________________________________
Lieber stehend sterben, als knieend leben! ------------------------------------------------------ ------------V-I-V-A---L-O-S---T-I-O-Z------------ |
|
|
|
|
|
#37 |
|
Inventar
![]() |
Den Umweg über den Text braucht man nicht
einfach: Zahl1=format(Zahl,"0.00") wobei Zahl1 derselbe Datentyp wie Zahl ist |
|
|
|
|
|
#38 |
|
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
@reemev
wenn du 2.3 als 2.30 ausgeben willst musst den umweg über den typ string nehmen. Weil bei Zahl schneidet vb die nullen ja weg bei der ausgabe.
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger
|
|
|
|
|
|
#39 |
|
Inventar
![]() |
Stimmt, hast recht. Wenn man die neue Zahl als Variant definiert, müsste es aber funktionieren. Macht aber keinen Unterschied mehr, es sei denn, man möchte mit den neuen Zahlen weiterrechnen(?).
|
|
|
|
|
|
#40 |
|
Jr. Member
![]() |
ja ich hab in dem prog insgesmt 92 variablen. wenn ich diese format anweisung nehme .. so wie du sie da hingeshrieben hast .. müsste ich ja dann nochmal extra für jede variable ne zweite machen (so hab ichs versatnden)
aba natürlich rechne ich danach mit den zahlen weiter. und da sollten halt alle in nem kaufmännischen format sein. weil es ein scheiß is .. wenn die zahlen dann mal eine haben und dann mal zwei stellen und das sieht dann blöd aus und dann stehen die zehner mal bei den hunderten und umgekehrt und das soll schon untereinander immer die gleiche stelle stehen ![]() also auffüllen auf zwei und abschneiden. das es halt immer zwei sind, egal obs 50 euro sind oder 50,678 .. es müssen zwei sein und darf ned gerundet werden, weil das ja ne preis verfälschung wäre, wenn ich statt 4,446 (4,44) aufeinmal 4,45 zahl ![]()
____________________________________
Lieber stehend sterben, als knieend leben! ------------------------------------------------------ ------------V-I-V-A---L-O-S---T-I-O-Z------------ |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|