Potenzieren

Startseite Foren Deutsches LiveCode-Forum Potenzieren

Schlagwörter: 

Ansicht von 13 Antwort-Themen
  • Autor
    Beiträge
    • #19494
      Oliver122
      Teilnehmer

      Hallo zusammen,

      kann mit jemand sagen wie man in LC potenzieren kann?

    • #19496
      Torsten
      Teilnehmer

      Hi Oliver!

      number ^ exponent

      Raises a number to a power.

      LG
      Torsten

    • #19523
      Oliver122
      Teilnehmer

      Hallo Torsten,

      danke für die Hilfe, aber es klappt leider nicht.

       put the last item dende &"-"& the last item dbeginn into datrech3
         put the value of datrech3 into jahre3
         put the value of (fld "eing6"&"/"&100) into proz
         put the value of ((fld"eing5"&"/"&jahre3)&("1"&"+"&"proz")&"^"&jahre3&"-"&"1") into fld "eing7"

      proz ist der Prozentsatz
      Jahre3 die Laufzeit

      Es wird kein Fehler ausgeworfen, aber das Ergebnis ist Mist.

    • #19524
      Oliver122
      Teilnehmer

      Was bedeutet

      Raises a number to a power.

    • #19526
      Klaus Major
      Verwalter

      „Klappt leider nicht“ ist definitiv KEINE aussagekräftige Fehlerbeschreibung! 😀

      Power bedeutet im Englischen auch „Potenz“ in der Mathematik. Wer hätte das gedacht? 😎

      Aber was soll das denn hier sein:
      put the last item dende &"-"& the last item dbeginn into datrech3
      Das gibt keinen ERROR?
      Es muss doch immer heissen „…item xyz OF WASAUCHIMMER…“

      Aber Deine VALUE Orgie ist sicherlich das Problem.
      ## Wenn das mit den ITEMS geklärt ist auch hier kein VALUE nötig:

      ## KEINE Anführungzeichen und kein &, es soll doch gerechnet werden und kein String gebaut werden!
      put the last item OF XYZ – the last item OF ZYX into datrech3
      put fld „eing6″/100 into proz

      Besonders die letzte Zeile kriege ich auf den Tod nicht aufgedröselt!?
      Kannst Du mal erklären, was die genau machen soll?

      Soweit bin ich gekommen:
      ##put the value of ((fld“eing5″&“/“&jahre3)&(„1″&“+“&“proz“)&“^“&jahre3&“-„&“1“) into fld „eing7“
      put fld „eing5″/jahre3 ^ 1 + proz… jahre3 – 1?

      Das & fügt STRINGS zusammen, ich sehe hier keinen Grund, das hier irgendwie einzusetzen?

      In Fällen wie diesem ist es wirklich ratsam, das große Problem in kleinere Probleme aufzusplitten, um den Fehler zu finden, wie ich es oben schon angefangen habe.
      Also so:

      put put fld „eing5″/jahre3 into whatever1
      put 1 + proz into whatever2
      put jahre3 – 1 into whatever3

      Aber was Du nun genau damit machen und ins Feld „eing7“ packen willst ist mir definitiv nicht klar!?

      Und bitte benutze auch LEERZEICHEN, die kosten nichts, machemn die Sache aber wesentlich lesbarer.

    • #19528
      Oliver122
      Teilnehmer

      OK danke ich muss mal bisschen testen.
      Das hat vermutlich an & gelegen.

      dende funktioniert. Das ist nur eine Variable

      Das Feld eing7 ist das Ergebnis der Rechnung.

    • #19529
      Klaus Major
      Verwalter

      dende funktioniert. Das ist nur eine Variable

      Schreib trotzdem … last item OF dende – last item of dbegin
      Die Engine wird mit jeder Version immer weniger nachsichtig, was „saloppe“ Programmierung angeht. Bedeutet, in einer späteren Version kann das einen ERROR geben!

      Das Feld eing7 ist das Ergebnis der Rechnung.

      Danke, das war offensichtlich, aber WAS genau das nun rein soll eben nicht. 🙂

    • #19530
      Oliver122
      Teilnehmer

      Jaaaaaaaaaaaaaahhh

      Klaus du bist der beste.

      Daaaaanke
      Es klappt. Die & Zeichen waren das Problem.

      Jetzt muss ich das nur auf zwei Stellen hinter dem Komma begrenzen.
      Wie geht das?

      Ich probiere mal

    • #19531
      Klaus Major
      Verwalter

      Da geht mit:
      answer round(1/33,2)

      Der erste Parameter ist die zu rundende Zahl oder Variable, der zweite Parameter gibt die maxiamle Anzahl an Nachkommastellen an, die angezeigt werden sollen. OHNE diesen zweiten Parameter wird keine Nachkommastelle angezeigt.

    • #19532
      Oliver122
      Teilnehmer

      Habe es hinbekommen.
      danke

    • #19533
      Oliver122
      Teilnehmer

      Danke für deine Hilfe.
      Ich wäre so schnell nicht auf den Fehler mit dem & gekommen, weil es seltsamerweise woanders funktioniert.

    • #19537
      Klaus Major
      Verwalter

      Bitte poste doch mal den nun funktionierenden Code!

      …weil es seltsamerweise woanders funktioniert.

      Also DAS würde ich gerne mal sehen!

    • #19538
      Oliver122
      Teilnehmer
      on aktualisieren
         // eingezahlte Beiträge
         set the usesystemdate to true
         put the date into fld "datuheu"
         put fld "eing1" into dbeginn
         put fld "datuheu"into dheute
         put fld "eing2" into dende
         set the itemDelimiter to "."
         put the last item dheute &"-"& the last item dbeginn into datrech
         put the value of datrech into jahre
         subtract 1 from jahre
         put jahre*12 into monate
         add the second item of dheute to monate
         put the value of (12&"-"&the second item of dbeginn&"+1") into mo
         put the value of (mo&"+"&monate) into lo
         put the value of (lo& "*"&fld "eing3") into fld "eing4"

      z.B hier

    • #19539
      Klaus Major
      Verwalter

      Aha, danke.

      Alle VALUEs sind hier total überflüssig, denn Du kannst direkt mit Feldern
      und Variablen rechnen. Du brauchst also nicht erst kompliziert einen String
      zusammenzubasteln, um dann dessen VALUE zu ermitteln.

      Ich lasse Deine Zeilen mal zum Vergleich auskommentiert drin:

      ...
      ## put the last item dheute &"-"& the last item dbeginn into datrech
      ## put the value of datrech into jahre
      ## subtract 1 from jahre
      put the last item OF dheute - the last item OF dbeginn - 1 into jahre
      put jahre * 12 into monate
      add the second item of dheute to monate
      ## put the value of (12&"-"&the second item of dbeginn&"+1") into mo
      put 12 - the second item of dbeginn + 1 + monate into lo
      put lo * fld "eing3" into fld "eing4"
      ## Fertig! :-)
      
      ## put the value of (mo&"+"&monate) into lo
      ## put the value of (lo& "*"&fld "eing3") into fld "eing4"
      ...
Ansicht von 13 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.