Frage zu einem Zinsrechnungs script

  • #1
S

St0oped

Guest
Hallo @ all
Ich habe grad Informatik in der Schule, und bin ein totaler Anfänger^^
Ich sollte ein Script zum Zinsrechnen Schreiben , das funktioniert auch, aber ich hätte eine Frage. Das Script sieht folgendermaßen aus:

Code:
<script language=JavaScript>


 var anfangsguthaben=window.prompt(Anfangskapital in Euro, );
   anfangsguthaben=parseFloat(anfangsguthaben);
 var zinssatz=window.prompt(Zinssatz p. a.,)
   zinssatz=parseFloat(zinssatz);
 var anzahl=window.prompt(Laufzeit,)
   anzahl=parseInt(anzahl);
 var kapital=anfangsguthaben

 var i=1;


   document.write(Aus  + anfangsguthaben +  € Startkapital werden );

   document.write(bei einem Jährlich gleichbleibendem Zinssatz von  + zinssatz +  % + <br><br>);
 do
  {
   zinsen = kapital * zinssatz / 100;

   kapital = kapital + zinsen;

   kapital = parseInt(kapital * 100 + 0.5 ) / 100 ;

   // kapital = Math.round(kapital * 100) / 100

   document.write(nach dem  + i + . Jahr :  + kapital +  € + <br>);

   i = i + 1;
  }

 while

 (i <= anzahl)



</script>

Die Frage :
Wieso kommt hier:

kapital = parseInt(kapital * 100 + 0.5 ) / 100 ;

ein +0.5 ???
Wenn ich das aber weglasse funktioniert es nicht, weiß jemand welche
Funktion die 0.5 hat???


* Code-Tags eingefügt *
 
  • #2
Hallo Loke

ich dachte, Du solltest das Script schreiben !? Dann muesstest Du eigentlich der erste sein, der weiss, was die 0.5 bedeuten.

Andere Frage: Welchen Sinn haette es kapital mit 100 zu multiplizieren, wenn man es danach direkt wieder durch 100 dividiert?  ???

Insofern kann ich in der ganze Zeile keinen Sinn erkennen.

Trotzdem sonnige Teneriffa Gruesse
 
  • #3
Ich geh mal davon aus, dass diese Zeile ein (schlechter) Ersatz (weil unnötig) für die darunter liegende auskommentierte Zeile
Code:
// kapital = Math.round(kapital * 100) / 100
ist. Mach mal ein // vor die Anweisung wo diese 0.5 drin steckt und nimm dafür die // darunter bei der Math.round weg. Kommt das gleiche raus und ist schöner als dieser hick hack mit parseInt bla bla :)

@Volker: das Multiplizieren und Teilen durch 100 sorgt dafür, dass die Nachkommastellen erhalten bleiben. Macht man aus round(kapital * 100)/100 ein round(kapital), gibt es nur ganze Zahlen als Ergebnis. machst du ein round(kapital*1000)/1000 gibts max. 3 Nachkommastellen usw. usf. Die 10er Potenz definiert also die anzahl an Nachkommastellen.

Beispiel:
kapital = 1234.561345;
kapital = Math.round(kapital * 100)/100;
>> kapital ist jetzt 1234.56

kapital = 1234.561345;
kapital = Math.round(kapital);
>> kapital ist jetzt 1234

kapital = 1234.561345;
kapital = Math.round(kapital * 1000)/1000;
>> kapital ist jetzt 1234.561

Lg
M.
 
  • #4
@Michael_B

Himmel nochmal - was es alles gibt.........  :eek:

.....da fehlt wohl in JavaScript sowas wie numberformat !?

Seit wann fummelst Du denn uebrigens mit JavaScript herum? Ich dachte da stehst net so drauf?

Teneriffa-Wetter heute: Sonne satt (ueber den Wolken)
Volker
 
  • #5
Selamat siang, Volker

in Javascript fehlt so einiges ^^ NumberFormat wäre eines aus vielen. BTW: Ich fummel net mit JS herum aber in vielen Dingen erkennt man dennoch Java wieder ;) und da habich mittlerweile mehr Ahnung von...

Lg
M.

PS: Wetter in Köln - grau in grau, wenigstens kein Regen, die Frisur hält ;D
 
Thema:

Frage zu einem Zinsrechnungs script

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben