Abrunden/ Aufrunden?

06/11/2009 - 23:16 von Theo Beutekamp | Report spam
Ich hoffe, ich bin in der richtigen Newsgroup...
Ich möchte einen Code von C++ in Visual Basic 6 schreiben.
Ich habe diesen Code in C++:

dauer = unsigned(anteil+0.5);

"dauer" ist ein unsigned, da habe ich in Visual Basic 6 mit Long übersetzt.
"anteil" ist ein float, da habe ich Single genommen.

Nun ist "anteil" in C++ der Wert 111.23000.
Ich bin in beiden Sprachen noch nicht gut, deshalb verstehe ich nicht,
warum ich in C++ für "dauer" auf den Wert 111 komme und in Visual Basic
6 auf 112.

Ich habe folgende Übersetzung gewàhlt:

dauer = Clng(anteil + 0.5)

Sieht jemand den Unterschied und kann mir sagen, was ich anders machen
muss?
 

Lesen sie die antworten

#1 Gert Wietzorek
07/11/2009 - 08:48 | Warnen spam
Theo Beutekamp schrieb:

dauer = unsigned(anteil+0.5);


Ich habe folgende Übersetzung gewàhlt:

dauer = Clng(anteil + 0.5)

Sieht jemand den Unterschied und kann mir sagen, was ich anders machen
muss?



CLNG rundet auf die nàchste Ganzzahl. Nimm FIX(anteil + .5), das gibt
Dir nur den ganzzahligen Anteil.

Gruß
Gert




| Antworten nur in die Newsgroup, |
| die E-Mail Adressen existieren nicht! |
| |
| answers and questions only to the newsgroup,|
| the email adresses are not valid |
| |
| http://www.gwsoftware.de |

Ähnliche fragen