Esempio n. 1
0
        public Numeration(OptionNumeration options)
        {
            top = new PortionDizaines(new PortionVicesimale());
            if (options.HasFlag(OptionNumeration.SoixanteDix))
            {
                top = new PortionSoixanteDix(top);
            }
            if (options.HasFlag(OptionNumeration.QuatreVingts))
            {
                top = new PortionQuatreVingts(options.HasFlag(OptionNumeration.QuatreVingtDix), top);
            }
            top = new PortionMilliers(new PortionCentaines(top));

            var listePrefixes = "m,b,tr".Split(',');
            var listeSuffixes = "on,ard".Split(',');
            var puissance     = 1_000_000L;

            foreach (var prefixe in listePrefixes)
            {
                foreach (var suffixe in listeSuffixes)
                {
                    top        = new PortionMillionsATrillions($"{prefixe}illi{suffixe}", puissance, top);
                    puissance *= 1000;
                }
            }
        }
Esempio n. 2
0
 public PortionDizaines(PortionNombre suivant) : base(10, seuil: 17, suivant: suivant)
 {
 }
Esempio n. 3
0
 public PortionPuissanceDe10(long puissance, PortionNombre suivant) : base(suivant)
 {
     seuil = this.puissance = puissance;
 }
Esempio n. 4
0
 public PortionPuissanceDe10(long puissance, long seuil, PortionNombre suivant) : base(suivant)
 {
     this.puissance = puissance;
     this.seuil     = seuil;
 }
 public PortionNombre(PortionNombre suivant)
 {
     this.suivant = suivant;
 }
 public PortionMilliers(PortionNombre suivant) : base(1000, suivant)
 {
 }
Esempio n. 7
0
 public PortionMultiplePuiss10(long puissance, PortionNombre suivant) : base(puissance, suivant)
 {
 }
 public PortionCentaines(PortionNombre suivant) : base(100, suivant)
 {
 }
 public PortionQuatreVingts(bool vicesimal, PortionNombre suivant) : base(vicesimal ? 20 : 10, seuil: 80, suivant: suivant)
 {
 }
 public PortionSoixanteDix(PortionNombre suivant) : base(20, seuil: 60, suivant: suivant)
 {
 }