Number

Valeur constante numérique littérale.

Un nombre dans CER est une valeur décimale arbitrairement longue, spécifiée par un point (".") comme séparateur décimal et sans séparateur de milliers.

Les calculs métier CER peuvent souvent impliquer des valeurs en pourcentage (par ex., "Déduire 10% des revenus de la personne". Pour faciliter la codification de ces règles, CER permet de spécifier un nombre comme pourcentage, en ajoutant simplement au nombre le suffixe %. Par exemple, les nombres 12.345% et 0.12345 se comportent de manière identique dans les calculs (mais la version de pourcentage s'affiche sous forme de pourcentage).

<?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>
        <!-- Entier positif -->
        <Number value="1"/>
      </derivation>
    </Attribute>

    <Attribute name="aNegativeInteger">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- Entier négatif -->
        <Number value="-2"/>
      </derivation>
    </Attribute>

    <Attribute name="aDecimalNumber">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- Nombre décimal.

             Les nombres sont arbitrairement longs/précis ; utilisez "." comme
             séparateur décimal. Les nombres n'ont pas de séparateur
             de milliers.
        -->
        <Number value="-12345.6789"/>
      </derivation>
    </Attribute>

    <Attribute name="aPercentage">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- Pourcentage
            (12.345% est équivalent au nombre 0.12345) -->
        <Number value="12.345%"/>
      </derivation>
    </Attribute>

  </Class>

</RuleSet>