0

Dezimalstellen

Hallo Zusammen,

in meiner Tabelle habe ich meine Forderungen aus meinen Rechnung und die Zahlung der Kunden. Ich habe ein Funktionsfeld, welches auf "offen" steht solang Zahlung < Forderung. Wenn Zahlung = Forderung ist soll es auf "bezahlt" und wenn Zahlung > Forderung soll es auf "überzahlt stehen.

Problem ist, dass er bei Zahlung = Forderung nicht genau auf 0,00 kommt, sondern auf -0,00040.

Dadurch komme ich nie auf den Status "bezahlt" sondern immer auf "überzahlt"

Hier wird sicherlich die Berechnung der Mehrwertsteuer schuld haben. Wie sage ic h Ninox, dass es die alles nach den ersten beiden Dezimalzahlen "vergessen" soll?

12 Antworten

null
    • Tacho
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Stelle sicher, dass alle Zahlen- und Funktionsfelder die mit den Rechnungs- und Zahlungsbeträgen zusammenhängen auch auf 2 Stellen hinter dem Komma "formatiert" sind:

    • Paul_J_Herberhold
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Tacho, 

    das sind sie, aber offensichtlich hat das nur einen Einfluss auf die Darstellung, intern scheint Ninox weiter mit mehreren Dezimalstellen zu rechnen.

    • Paul_J_Herberhold
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Tacho, 

    das sind sie, aber offensichtlich hat das nur einen Einfluss auf die Darstellung, intern scheint Ninox weiter mit mehreren Dezimalstellen zu rechnen.

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Paul, wenn ninox einfach die Zalen vergessen soll (also aus 0,0040 wird 0,00 aber auch aus 0,0090 wird 0,00) dann am ende der Berechnung:

     

    Zahl := floor(Zahl * 100) / 100

     

    Leo

    • Tacho
    • vor 6 Jahren
    • Gemeldet - anzeigen

    also, bei mir muß Nicnox nichts "vergessen"! :-)

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Da nennen wir die Aufgabe um: aus vergessen wird nicht berücksichtigen.

    • Tacho
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Interessant wäre doch ehr, woher es zu diesen Zahlen mit mehr als zwei Dezimalstellen kommen kann, wenn alle Felder korrekt formatiert wären.

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Bei mir kommt es sehr of vor wenn ich von festgelegten (runden)  Bruttopreisen die Nettopreise zurückrechnen muss.

    Die Formatierung kaschiert die reschlichen Kommastellen, aber die Berechnung nimmt doch alles mit.

    • Ninox-Professional
    • planoxpro
    • vor 6 Jahren
    • Gemeldet - anzeigen

    @Tacho: Weil sich die Angabe der Nachkommastellen bei "Zahlenformat" in den Feldoptionen nur auf die Anzeige des Ergebnisses auswirkt. Gerechnet wird ggf. aber mit allen Nachkommastellen.

     

    Wer sicher gehen will, dass auch intern wirklich mathematisch gerundet und entsprechend gerechnet wird, der sollte, wie Leo im anderen Thread schon gesagt hat, in Formeln die Funktion "round(Zahl, X)" nutzen, wobei X für die Anzahl der Nachkommastellen steht.

    • Aushilfen
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ich ziehe mal wieder meinen Hut vor euch, mit der Formel:

    round('Total Netto' * (0 + MWST / 100), 2)

    klaptt es und ich habe schn gerundete Beträge ;)

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Interessant. Und wofür genau ist die 0 in der Formel?

    • Paul_J_Herberhold
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Genau das habe ich mich ehrlich gesagt auch gefragt Leo :D 

    Aber ganz nach dem Motto "Never change a running system" habe ich es einfach mal so gelassen. Ich habe aber wirklich keine Ahnung warum ich sie damals eingebaut habe.

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 12Antworten
  • 3817Ansichten