JSreal - Documentation - Nombres

JSreal accepte les nombres dans ses groupes; il suffit de les déclarer comme noms (N), adjectifs (A) ou déterminants (D). Un tel nombre peut résulter d'un calcul en JavaScript ou être entré directement; il occupera les fonctions habituelles de sa catégorie, mais sera invariable.

14.4 A(2*7+2/5)
2212122.21121 comporte seulement les chiffres 1 et 2. S(N(2212122.21121), VP(V('comporter'), A('seulement'), NP(N('chiffre'), CP(A(1), A(2))).n('p').d('d')))

Un nombre utilisé comme déterminant est singulier si sa valeur absolue est inférieure à 2 et pluriel sinon.

1.99 rangée, 2 rangées J(N('rangée').d(1.99), N('rangée').d(2)).c(',')

Le trait num permet de spécifier une forme pour un nombre. Il est possible de lui attribuer une valeur par défaut dans les paramètres.

Écriture décimale française

À la base, un nombre est réalisé exactement comme il apparaît dans JavaScript, donc sans espace et utilisant le point comme séparateur décimal. Assigner la valeur d au trait num demande l'écriture décimale française, avec des espaces pour séparer les puissances de mille et la virgule comme séparateur décimal.

2 212 122,211 21 N(221212221121/100000).num('d')

En toutes lettres

Avec la valeur l au trait num, le nombre est réalisé en toutes lettres. S'il a une partie décimale, elle est tenue en compte. La valeur ln permet d'écrire un nombre en toutes lettres avec la nouvelle orthographe de 1990, qui remplace la majorité des espaces par des tirets.

vingt-cinq rangées N('rangée').d(25).num('l')
deux milliards quatre-vingt millions deux cent dix-huit mille soixante-et-onze et quarante-cinq mille sept cent dix-huit cent-millièmes N(2080218071.45718).num('l')
dix-huit-mille-soixante-et-onze et sept-cent-dix-huit millièmes A(18071.718).num('ln')

Quand un nombre commence par une voyelle, il n'entraîne pas d'élision ou de liaison, contrairement à la majorité des autres mots. Cette exception s'applique même si le nombre est déjà écrit en toutes lettres par l'usager.

le un N(1).d('d').num('l')
le un N('un').d('d')

Ordinaux

Un nombre adjectif est réalisé comme ordinal avec la valeur o (ou on, pour la nouvelle orthographe) au trait num.

un-million-mille-unième A(1001001).num('on')

Les ordinaux s'accordent et sont correctement antéposés.

la première rangée N('rangée').d('d').add(A(1).num('o'))

Les ordinaux non plus n'entraînent pas l'élision ou la liaison.

Le onzième gagne! S(A(11).num('o').d('d'), V('gagner')).t('exc')

Téléphone

Avec t spécifié comme valeur de num, un nombre est réalisé comme un numéro de téléphone nord-américain.

555-6426 N(5556426).num('t')
514-555-6426 N(5145556426).num('t')
Contactez-moi au 1-800-555-6426. S(VP(V('contacter').pe(5).f('ip'), Pro('moi'), PP(P('à'), NP(D('le'), N(18005556426).num('t')))))