Number

Dieser Ausdruck gibt einen literalen konstanten Zahlenwert (Typ "Number") an.

Eine Zahl ist in CER ein beliebig langer Dezimalwert, der unter Verwendung eines Punkts (".") als Dezimalzeichen und ohne Tausendertrennzeichen angegeben wird.

CER-Geschäftsberechnungen beziehen häufig Prozentsätze ein (z. B. "10 % des Einkommens der Person abziehen"). Um die Codierung solcher Regeln zu unterstützen lässt CER die Angabe eines Wertes des Typs "Number" als Prozentsatz zu. Hierzu wird der Zahl einfach das Suffix % nachgestellt. Beispielsweise verhalten sich die Zahlen 12.345% und 0.12345 in Berechnungen identisch (die Variante mit dem Prozentzeichen wird jedoch als Prozentsatz angezeigt).

<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_Number"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
  <Class name="NumberExampleRuleClass">

    <Attribute name="aPositiveInteger">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- A positive integer -->
        <Number value="1"/>
      </derivation>
    </Attribute>

    <Attribute name="aNegativeInteger">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- A negative integer -->
        <Number value="-2"/>
      </derivation>
    </Attribute>

    <Attribute name="aDecimalNumber">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- A decimal number.

             Numbers are arbitrarily long/precise, use "." for
             the decimal separator and have no thousands
             separator.
        -->
        <Number value="-12345.6789"/>
      </derivation>
    </Attribute>

    <Attribute name="aPercentage">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- A percentage
            (12.345% is equivalent to the number 0.12345) -->
        <Number value="12.345%"/>
      </derivation>
    </Attribute>

  </Class>

</RuleSet>