Rundung und Casting von Zahlen



Ähnliche Dokumente
teamsync Kurzanleitung

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

AutoCAD Dienstprogramm zur Lizenzübertragung

Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Erfahrungen mit Hartz IV- Empfängern

M e r k b l a t t. Neues Verbrauchervertragsrecht 2014: Beispiele für Widerrufsbelehrungen

Zwischenablage (Bilder, Texte,...)

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Intrexx auf einem Windows 2012 Server

Wie Sie mit Mastern arbeiten

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Was ist das Budget für Arbeit?

1 Mathematische Grundlagen

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense Copyright QlikTech International AB. Alle Rechte vorbehalten.

Info zum Zusammenhang von Auflösung und Genauigkeit

Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

Anleitung über den Umgang mit Schildern

Internet online Update (Mozilla Firefox)

Dokumentation: ZIBXL - Auswertung der internen Umbuchungen

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Informationen für Enteignungsbetroffene

Hilfedatei der Oden$-Börse Stand Juni 2014

Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.

Raiffeisen-Volksbank Wemding eg

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Aktivierung von Makros in den Erfassungshilfen

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

myfactory.go! - Verkauf

Primzahlen und RSA-Verschlüsselung

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Installation SPSS Netzwerkversion (Mac)

Synchronisations- Assistent

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Screening for Illustrator. Benutzerhandbuch

BENUTZERHANDBUCH. Version 7.6

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Anwendertreffen 20./21. Juni

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Ihre Lizenz ändern. Stand 01/2015

Anleitung für den Elektronischen Lesesaal der Martin-Opitz Bibliothek

Projektmanagement in Outlook integriert

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

So gehts Schritt-für-Schritt-Anleitung

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Anmeldung zu Seminaren und Lehrgängen

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

Installation LehrerConsole (für Version 6.2)

Outlook und Outlook Express

Stand: Adressnummern ändern Modulbeschreibung

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Excel Arbeitszeiterfassung

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Wir machen neue Politik für Baden-Württemberg

Enigmail Konfiguration

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

Unser Konzept zur rechtssicheren Buchung selbständiger Pflegekräfte

Hinweise zum elektronischen Meldeformular

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

Ich möchte meine Beitragsnachweise nach dem vereinfachten Schätzverfahren erstellen.

Online Bestellsystem Bedienungsanleitung

Einführung in das Urheberrecht Referent: RA Patrick Imgrund (Fachanwalt für Urheber- und Medienrecht, Fachanwalt für gewerblichen

TYPO3 Tipps und Tricks

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Anleitung. Verschieben des alten -Postfachs (z.b. unter Thunderbird) in den neuen Open Xchange-Account

7 Rechnen mit Polynomen

Anleitung SEPA-Lastschriften mit VR-NetWorld Software 5

Terminabgleich mit Mobiltelefonen

Anleitung zum Computercheck So aktualisieren Sie Ihr Microsoft-Betriebssystem

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Einstellen der Makrosicherheit in Microsoft Word

Anlage eines neuen Geschäftsjahres in der Office Line

Step by Step-Anleitung Version 1.00 vom 03. März 2009 Christian Schnettelker,

Import und Export von Übergängern

Professionelle Seminare im Bereich MS-Office

Übernahme von Daten aus einem bestehenden Outlook-Profil bzw. einem anderen Exchange Server

Krawatten- und Schal-Konfigurator Gestalten Sie Ihre eigene Krawatte, Ihren eigenen Schal!

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Gezielt über Folien hinweg springen

Lehrer: Einschreibemethoden

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen

Elektronischer Kontoauszug

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Änderungen an der Mareon-Schnittstelle

MULTIWEB Banking. Installation und Update unter Windows

Gründung Personengesellschaft

Statuten in leichter Sprache

Internationales Altkatholisches Laienforum

Bedienungshinweise für das Smartboard. Basisfunktionen

Transkript:

W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0

1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für eine typsichere Weiterverarbeitung der Daten wird außerdem erklärt, wie Sie Variablen entsprechend casten können. Wir zeigen Ihnen in dem Beitrag einige Einsatzszenarien sowie einzelne Praxisbeispiele. Intrexx stellt für Rundungsund Casting-Anforderungen über das Objekt $Math unterstützende Methoden bereit. Die dazugehörige Java-API-Dokumentation finden Sie hier. 1.1. Voraussetzungen Ab der Version Intrexx 5.2 erhalten Sie die demonstrierten Rundungs- und Casting-Methoden von $Math bereits in der Release-Version. Beim Einsatz von Intrexx 5.1 wird ein installiertes Online-Update 07 benötigt. 2. Rundungsverfahren Zum Runden von Zahlenwerten existiert eine Vielzahl an Verfahren. Im Folgenden sollen das kaufmännische und das mathematischen Runden etwas genauer beschrieben werden. Beide Rundungsverfahren werden von Intrexx unterstützt. Je nach Anwendungsfall bieten unsere Templates hierfür die passende Methode. 2.1. Kaufmännisches Runden Die Regeln für kaufmännisches Runden sind wie folgt: Ist die Ziffer an der ersten wegfallenden Dezimalstelle eine 0,1,2,3 oder 4, dann wird abgerundet Ist die Ziffer an der ersten wegfallenden Dezimalstelle eine 5,6,7,8 oder 9, dann wird aufgerundet Negative Zahlen werden anhand ihres Betrags gerundet, d.h. also ab der Zahl 5 weg von 0. Beispiel (Runden auf zwei Nachkommastellen): 12,3449 -> 12,34 12,3450 -> 12,35-12,3449 -> -12,34-12,3450 -> -12,35 Für das kaufmännische Runden stellt Intrexx Ihnen die Methode roundhalfawayfromzero(double, precision) und roundhalfawayfromzero(bigdecimal, precision) zur Verfügung. Der zweite Parameter precision beschreibt hierbei die Anzahl der Nachkommastellen und ist optional. 2.2. Mathematisches Runden Die Regeln für mathematisches Runden sind wie folgt: Folgt auf die letzte beizubehaltende Ziffer eine 0, 1, 2, 3 oder 4, so wird abgerundet. Folgt auf die letzte beizubehaltende Ziffer eine 5, 6, 7, 8 oder eine 9, gefolgt von weiteren Ziffern, die nicht alle null sind, so wird aufgerundet. Folgt auf die letzte beizubehaltende Ziffer lediglich eine 5 (oder eine 5, auf die nur Nullen folgen), so wird derart gerundet, dass die letzte beizubehaltende Ziffer gerade wird. Beispiel (Runden auf eine Nachkommastelle): 1,2499 -> 1,2 1,2501 -> 1,3 1,2500 -> 1,2 1,3500 -> 1,4 Für das mathematische Runden stellt Intrexx Ihnen die Methode $Math.roundHalfEven() zur Verfügung. UNITED PLANET - INTREXX 7 - RUNDUNG UND CASTING VON ZAHLEN 2

2.3. Unterschiede Die Unterschiede zwischen den beiden vorgestellten Rundungsmethoden liegen in der "Verarbeitung" der Zahl 5, d.h. wenn eine Zahl zwischen zwei möglichen Rundungsergebnissen liegt. Beim kaufmännischen Runden kann lediglich der Fall vorkommen, dass um einen Wert von 0,5 aufgerundet wird. Das Abrunden von 0,5 kann zu keinem Zeitpunkt vorkommen. Dieser Fall ist dagegen beim mathematischen Runden berücksichtigt und sorgt dafür, dass beide Regeln gleichermaßen angewandt werden. Anwender müssen somit für jeden Anwendungsfall entscheiden, welches Rundungsverfahren hierfür rechnerisch, syntaktisch und logisch korrekt ist. Weitere Hintergründe zur Rundung von Zahlen finden Sie bei Wikipedia. 3. Methoden im Überblick In Velocity stellt Ihnen Intrexx wie bereits erwähnt das Objekt $Math zur Verfügung, mit dem Rundungsoperationen durchgeführt werden können. Im Folgenden sollen einige Methoden einzeln vorgestellt werden. Eine Gesamtübersicht finden Sie in der Java-API Dokumentation. roundhalfup(double param) Diese Methode rundet immer auf den nächsten Wert zum Übergabeparameter in positiver Richtung auf. $Math.roundHalfUp(0.5) == 1.0 $Math.roundHalfUp(-0.5) == 0.0 --- roundhalfawayfromzero(double param) Diese Methode rundet ähnlich wie roundhalfup(), außer dass negative Werte immer von dem Wert Null weggerundet werden. $Math.roundHalfAwayFromZero(0.5) == 1.0 $Math.roundHalfAwayFromZero(-0.5) == -1.0 --- roundhalfeven(double param) Auch diese Methode rundet wie roundhalfup(), jedoch werden Werte immer zum nächsten geraden Wert gerundet. $Math.roundHalfEven(1.5) == 2.0 $Math.roundHalfEven(-1.5) == -2.0 $Math.roundHalfEven(0.12) == 0.0 $Math.roundHalfEven(0.61) == 1.0 $Math.roundHalfEven(-0.61) == -1.0 Die beiden Methoden roundhalfawayfromzero() und roundhalfeven() akzeptieren optional einen zweiten Übergabeparameter für die Rundungsgenauigkeit. Hiermit können Sie angeben, auf wie viele Stellen nach dem Komma gerundet werden soll. Negative Werte sind dabei auch möglich, um die Genauigkeit vor dem Komma zu beeinflussen. 4. Typsichere Weiterverarbeitung Hin und wieder ist es erforderlich, dass die Zahlen einem bestimmten Typ entsprechen müssen. Auch hierfür haben Sie einige Möglichkeiten zur Verfügung. Im Rahmen des Rundens stehen für die oben genannten Methoden auch die entsprechenden Pendants zur Verfügung, um die gerundeten Werte in einem bestimmten Datentyp zurückgeliefert zu bekommen. Im Beispiel sieht der Aufruf dann wie folgt aus: UNITED PLANET - INTREXX 7 - RUNDUNG UND CASTING VON ZAHLEN 3

$Math.roundHalfUpAsInt(double) $Math.roundHalfUpAsLong(double) Selbstverständlich gibt es auch universelle Cast-Methoden, die vom $Math-Objekt bereitgestellt werden. Hierzu zählen: $Math.toInteger(java.lang.Object p_value) $Math.toLong(java.lang.Object p_value) $Math.toFloat(java.lang.Object p_value) $Math.toDouble(java.lang.Object p_value) $Math.toBigDecimal(java.lang.Object p_value) Jede dieser Methoden akzeptiert einen Übergabeparameter vom Typ java.lang.object, somit können unter anderem auch Zeichenketten (Strings) übergeben und umgewandelt werden. Im Falle von Zeichenketten dürfen sich jedoch keinerlei Trennzeichen wie Tausendertrennzeichen oder Dezimaltrenner befinden. Optional können Sie auch immer einen Fallback-Wert des entsprechenden Typs mitgeben. Falls eine Umwandlung nicht funktionieren sollte, wird dieser Fallback-Wert zurückgegeben. Ebenfalls abgefangen werden beim Casten mit Hilfe dieser Methoden eventuelle auftretende Bereichsüberlaufe. 5. Verwendung in Groovy Die aufgeführten Methoden roundhalfawayfromzero() und roundhalfeven() sind im Groovy- Umfeld ebenfalls aufrufbar. Importieren Sie hierzu die Klasse de.uplanet.util.math.roundingutil in Ihr Skript. Zum typsicheren Arbeiten und Casten stehen in Groovy keine speziellen Methoden zur Verfügung, da in diesem Fall auf die Groovy-eigenen Methoden zurückgegriffen werden kann. UNITED PLANET - INTREXX 7 - RUNDUNG UND CASTING VON ZAHLEN 4

2015 United Planet. All rights reserved. www.unitedplanet.com. Intrexx and United Planet are registered trademarks of United Planet, Freiburg - Germany. Alle im Text erwähnten Hersteller, Produkte und Dienstleistungen sind Marken oder eingetragene Marken der jeweiligen Unternehmen in Deutschland und anderen Ländern weltweit.