using Developpez.Dotnet.Language.Grammar;
namespace Developpez.Dotnet.Language
{
///
/// Définit les méthodes implémentées par un convertisseur de nombre en toutes lettres
///
public interface INumberSpeller
{
///
/// Convertit un nombre entier en toutes lettres.
///
/// Nombre entier.
/// Genre du nombre entier.
/// Nature de l'adjectif numéral.
/// Le nombre en toutes lettres.
string Spell(long value, Gender gender, NumeralAdjective numeralAdjective);
///
/// Convertit un nombre entier en toutes lettres.
///
/// Nombre entier.
/// Genre du nombre entier.
/// Nature de l'adjectif numéral.
/// Le nombre en toutes lettres.
string Spell(ulong value, Gender gender, NumeralAdjective numeralAdjective);
///
/// Convertit un nombre en virgule flottante en toutes lettres, avec le nombre de chiffres spécifié après la virgule.
///
/// Nombre en virgule flottante
/// Nombre de chiffres après la virgule
/// Le nombre en toutes lettres
string Spell(double value, int decimalPlaces);
///
/// Convertit un nombre décimal en toutes lettres, avec le nombre de chiffres spécifié après la virgule.
///
/// Nombre décimal
/// Nombre de chiffres après la virgule
/// Le nombre en toutes lettres
string Spell(decimal value, int decimalPlaces);
///
/// Convertit un montant en toutes lettres, avec la devise spécifiée.
///
/// Montant en virgule flottante
/// Devise à utiliser
/// Le montant en toutes lettres
string SpellAmount(double value, CurrencyDescriptor currency);
///
/// Convertit un montant en toutes lettres, avec la devise spécifiée.
///
/// Montant décimal
/// Devise à utiliser
/// Le montant en toutes lettres
string SpellAmount(decimal value, CurrencyDescriptor currency);
}
}