Filtres de saisie et Format d'affichage

Bonjour à tous et Bonne Année,

Je viens de créer une nouvelle base à partir de la version 16.3 après une très longue absence …

Dans un format, je crée un numérique avec un filtre de saisie :&“0-9;,” et
un format d’affichage ### ##0,00;

En saisie, la virgule et ignorée et l’affichage tronquée.

Si je substitue le point “.” à la virgule, tout fonctionne : la virgule est prise et s’affiche.

Je crois qu’il y a quelque chose d’anormal, même si je suis parvenu au résultat que je souhaitais.

Quelqu’un peut me dire où j’ai fait une erreur ?

[]22261302;“Your comment here…”[/]
[]22261308;“Your comment here…”[/]

Le bon format a utiliser est le suivant : ###,###,##0.00
NB: Ce format sera remplacé par le format système de votre OS.
Sur les anciennes bases, c’est une option de compatibilité; sur les nouvelles bases, je pense que c’est utilisé directement ainsi.

Depuis la v11, 4D se base sur le système : dans un formatage 4D, on définit l’emplacement du séparateur décimal avec un point et celui du séparateur de milliers avec une virgule. À l’exécution, 4D remplace ces séparateurs par ceux définis dans le système :
[]22261619;“Your comment here…”[/]
Autrement dit, “#,###.00” donnera “1,234.56” en système us et “1 234,56” en système fr.

À noter que dans cette base que tu as nouvellement créée, ce fonctionnement est le seul possible. Mais dans une base d’avant v11, l’ancien système est actif par défaut et perdure tant qu’on ne stoppe pas l’option de compatibilité dans les préférences.

Si des gens de 4D nous lisent, il est surprenant que cela ne soit pas
mentionné clairement dans la doc à l’endroit des formats d’affichage ?

il faut aller dans les notes de compatibilité pour lire cela:

: Doc 4D

Définir le point et la virgule comme caractères d’emplacement dans
les formats numériques : à compter de la version 11, 4D utilise les
paramètres système régionaux pour les formats d’affichage numériques
(cf. “Formats numériques” dans la section Formats d’affichage). 4D
substitue les caractères “,” et “.” dans les formats d’affichage des
numériques par, respectivement, le séparateur des milliers et le
séparateur décimal définis dans le système d’exploitation. Le point
et la virgule sont alors considérés comme des caractères
d’emplacement, à l’instar du 0 ou du #. Dans les versions précédentes
de 4D, les formats d’affichage des numériques ne tenaient pas compte
des paramètres régionaux du système. Par exemple, le format
“###,##0.00” est un format valide pour un système américain.
Toutefois, lorsqu’il est appliqué à une valeur numérique affichée sur
un système français ou suisse, le résultat est incorrect.
Dans les bases de données converties, par souci de compatibilité, le
nouveau mécanisme n’est pas actif. Pour en bénéficier, vous devez
cocher cette option.

Ok, je viens de relire la doc c’est bien mentionné http://doc.4d.com/4Dv16R4/4D/16-R4/Formats-d-affichage.300-3330364.fr.htmlici> mais un exemple simple avec la mention du format ###,###,##0.00 serait peut-être le bienvenu.