Effectue un calcul arithmétique sur deux nombres (numéro de gauche et numéro de droite) et arrondit éventuellement le résultat au nombre de décimales spécifiées.
Les opérations prises en charge sont les suivantes :
nombre de gauche + nombre de droite ;
nombre de gauche - nombre de droite ;
nombre de gauche * nombre de droite ; et
nombre de gauche / nombre de droite.
Si l'arrondissement est nécessaire, vous devez spécifier ce qui suit :
Le valideur de l'éditeur de règles CER émet un avertissement s'il détecte une opération de division dans votre jeu de règles qui n'effectue pas l'arrondissement spécifié.
<?xml version="1.0" encoding="UTF-8"?> <RuleSet name="Example_arithmetic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "http://www.curamsoftware.com/CreoleRulesSchema.xsd"> <Class name="ArithmeticExampleRuleClass"> <!-- 3 + 2 = 5 --> <Attribute name="addANumberToAnother"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic operation="+"> <Number value="3"/> <Number value="2"/> </arithmetic> </derivation> </Attribute> <!-- 3 - 2 = 1 --> <Attribute name="subtractANumberFromAnother"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic operation="-"> <Number value="3"/> <Number value="2"/> </arithmetic> </derivation> </Attribute> <!-- 3 * 2 = 6 --> <Attribute name="multiplyANumberByAnother"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic operation="*"> <Number value="3"/> <Number value="2"/> </arithmetic> </derivation> </Attribute> <!-- 3 / 2 = 1.5 --> <!-- S'agissant d'une division par 2, nous pouvons nous abstenir de l'arrondissement. Cependant, un avertissement sera toujours émis par le valideur de jeu de règles CER. --> <Attribute name="divideANumbersByAnother"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic operation="/"> <Number value="3"/> <Number value="2"/> </arithmetic> </derivation> </Attribute> <!-- (3 + 2) * 4 = 20 --> <Attribute name="chainedArithmetic"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic operation="*"> <arithmetic operation="+"> <Number value="3"/> <Number value="2"/> </arithmetic> <Number value="4"/> </arithmetic> </derivation> </Attribute> <!-- 1.23 + 3.45 = 4.68, = 4.7 lorsqu'il est arrondi à la décimale la plus proche--> <Attribute name="roundedAddition"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic decimalPlaces="1" operation="+" rounding="half_up"> <Number value="1.23"/> <Number value="3.45"/> </arithmetic> </derivation> </Attribute> <!-- 2 / 3, = 0.667 à trois décimales --> <!-- Si aucun arrondissement n'est spécifié, une erreur d'exécution se produira --> <Attribute name="roundedDivision"> <type> <javaclass name="Number"/> </type> <derivation> <arithmetic decimalPlaces="3" operation="/" rounding="half_up"> <Number value="2"/> <Number value="3"/> </arithmetic> </derivation> </Attribute> </Class> </RuleSet>