Vérification · version du
Vérifier un calcul, reproduire un exemple
Un résultat est plus utile lorsque ses entrées, sa méthode et ses limites peuvent être contrôlées. Cette page publie les cas ajoutés lors de la révision du 15 septembre 2026, avec leurs résultats attendus et un moyen de les recalculer.
83 nouveaux cas réussis. Ils complètent les 562 tests existants. Les tests ont été exécutés sur les fichiers de cette version avant sa mise en ligne. Ils vérifient des cas définis ; ils ne prouvent pas l’absence de toute erreur possible et ne constituent pas une validation médicale, juridique ou financière.
Des cas de référence réutilisables
Les fichiers contiennent les entrées, le moteur, le résultat attendu ou le refus attendu, la tolérance numérique et une référence. Ils ne contiennent aucune donnée d’utilisateur.
Ce qui a été corrigé
- La saisie conserve le signe négatif après une multiplication ou une puissance.
- Un chiffre après « = » commence un nouveau calcul ; un opérateur poursuit le résultat avec sa précision interne.
- Les petits nombres non nuls ne sont plus ramenés arbitrairement à zéro. La notation exponentielle peut être reprise.
- L’historique ne conserve que les calculs validés, y compris zéro. Les opérations peuvent être reprises, exportées ou imprimées.
- Les jours ouvrés et les échéances disposent de calendriers français, de jours fériés travaillés et d’exclusions personnalisées.
- Le salaire après impôt utilise le net imposable renseigné. Sans cette assiette et avec un taux positif, le montant reste à préciser.
- La prime d’activité propose les seuils de bonification de juin 2026 et le scénario daté d’avril–mai ; le seuil de versement est appliqué.
- Les arrondis de colocation et de participation des aides au logement suivent les règles décrites. Les situations hors périmètre du modèle sont orientées vers la CAF.
- Une valeur numérique effacée est signalée ; elle ne devient pas implicitement zéro.
Comment lire ces vérifications ?
Les cas arithmétiques ont une valeur attendue explicite. Une comparaison numérique accepte l’écart indiqué dans le fichier JSON : le maximum de la tolérance absolue et de la tolérance relative multipliée par la valeur attendue. Les petits nombres utilisent une tolérance absolue nulle pour qu’un zéro incorrect ne puisse pas réussir le test.
Les nombres JavaScript sont en double précision. L’affichage est arrondi, sans remplacer la valeur interne. Au-delà de 9 007 199 254 740 991, tous les entiers ne sont pas représentables exactement : le cas « 1e21 + 1 » illustre cette limite, il ne prouve pas une addition entière exacte. La convention du moteur donne 0^0 = 1. Les pourcentages de la calculatrice simple suivent la convention 200 + 10 % = 220.
Les séquences de saisie testent l’état utilisé par l’interface. En complément, 37 contrôles locaux exécutent les gestionnaires de boutons, clavier, saisie et historique dans un DOM simulé. Ces contrôles ne remplacent pas une vérification visuelle sur appareils réels. Les tests des moteurs ne vérifient ni l’éligibilité administrative d’une personne ni l’adéquation médicale d’un résultat.
Sources des corrections datées
- Service Public : calendriers des jours fériés.
- Urssaf : salaire brut et net.
- Service Public : prime d’activité et arrêté sur le Smic au 1er juin 2026.
- Légifrance : calcul des aides au logement, notamment articles 7, 14 et 16.
- ECMAScript : nombres et fonctions mathématiques.
Les liens de chaque cas permettent de retrouver sa méthode et ses entrées.
Les 83 cas et leurs résultats
Vous pouvez relancer les cas dans votre navigateur. Seul le fichier de cas est téléchargé ; aucun résultat n’est envoyé.
Résultat de préparation : 83 cas réussis sur 83.
| Cas | Entrées et contexte | Attendu | Vérification |
|---|---|---|---|
| C001 Lien du cas | 2*-32*-3 | -6 | Réussi dans la version préparée |
| C002 Lien du cas | 2^-22^-2 | 0.25 | Réussi dans la version préparée |
| C003 Lien du cas | -2^2-2^2 | -4 | Réussi dans la version préparée |
| C004 Lien du cas | (-2)^2(-2)^2 | 4 | Réussi dans la version préparée |
| C005 Lien du cas | 2^3^22^3^2 | 512 | Réussi dans la version préparée |
| C006 Lien du cas | 200+10%200+10% | 220 | Réussi dans la version préparée |
| C007 Lien du cas | 200+-10%200+-10% | 180 | Réussi dans la version préparée |
| C008 Lien du cas | 200-10%200-10% | 180 | Réussi dans la version préparée |
| C009 Lien du cas | 100*10%100*10% | 10 | Réussi dans la version préparée |
| C010 Lien du cas | 1e-161e-16 | 1e-16 | Réussi dans la version préparée |
| C011 Lien du cas | 1/1e-161/1e-16 | 1e+16 | Réussi dans la version préparée |
| C012 Lien du cas | 1e21+11e21+1 | 1e+21 | Réussi dans la version préparée |
| C013 Lien du cas | 0.1+0.20.1+0.2 | 0.3 | Réussi dans la version préparée |
| C014 Lien du cas | (12+8)*3(12+8)*3 | 60 | Réussi dans la version préparée |
| C015 Lien du cas | 1-11-1 | 0 | Réussi dans la version préparée |
| C016 Lien du cas | 0^00^0 | 1 | Réussi dans la version préparée |
| C017 Lien du cas | Refus : 1/01/0 | Erreur contrôlée | Réussi dans la version préparée |
| C018 Lien du cas | Refus : 1..21..2 | Erreur contrôlée | Réussi dans la version préparée |
| C019 Lien du cas | Refus : 2+2+ | Erreur contrôlée | Réussi dans la version préparée |
| C020 Lien du cas | Refus : (2+3(2+3 | Erreur contrôlée | Réussi dans la version préparée |
| C021 Lien du cas | Refus : 2(3)2(3) | Erreur contrôlée | Réussi dans la version préparée |
| C022 Lien du cas | Refus : 999999999999999999999999999999…99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | Erreur contrôlée | Réussi dans la version préparée |
| C023 Lien du cas | Refus : 1e3091e309 | Erreur contrôlée | Réussi dans la version préparée |
| C024 Lien du cas | sin(30) — degsin(30) | 0.5 | Réussi dans la version préparée |
| C025 Lien du cas | cos(60) — degcos(60) | 0.5 | Réussi dans la version préparée |
| C026 Lien du cas | sin(pi/2) — radsin(pi/2) | 1 | Réussi dans la version préparée |
| C027 Lien du cas | sqrt(81) — degsqrt(81) | 9 | Réussi dans la version préparée |
| C028 Lien du cas | 1e-16 — deg1e-16 | 1e-16 | Réussi dans la version préparée |
| C029 Lien du cas | 1/1e-16 — deg1/1e-16 | 1e+16 | Réussi dans la version préparée |
| C030 Lien du cas | 2^-2 — deg2^-2 | 0.25 | Réussi dans la version préparée |
| C031 Lien du cas | ncr(49;6) — degncr(49;6) | 13983816 | Réussi dans la version préparée |
| C032 Lien du cas | log(1000) — deglog(1000) | 3 | Réussi dans la version préparée |
| C033 Lien du cas | 0xFF+1 — deg0xFF+1 | 256 | Réussi dans la version préparée |
| C034 Lien du cas | Refus scientifique : 1/01/0 | Erreur contrôlée | Réussi dans la version préparée |
| C035 Lien du cas | Refus scientifique : sqrt(-1)sqrt(-1) | Erreur contrôlée | Réussi dans la version préparée |
| C036 Lien du cas | Refus scientifique : tan(90)tan(90) | Erreur contrôlée | Réussi dans la version préparée |
| C037 Lien du cas | Refus scientifique : 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | Erreur contrôlée | Réussi dans la version préparée |
| C038 Lien du cas | Un chiffre après = commence un nouveau calcul (simple)[["append","2+3"],["commit"],["append","4"],["commit"]] | 4 | Réussi dans la version préparée |
| C039 Lien du cas | Un opérateur après = reprend le résultat (simple)[["append","2+3"],["commit"],["append","*2"],["commit"]] | 10 | Réussi dans la version préparée |
| C040 Lien du cas | La précision de 1/3 est conservée (simple)[["append","1/3"],["commit"],["append","*3"],["commit"]] | 1 | Réussi dans la version préparée |
| C041 Lien du cas | Un résultat exponentiel peut être repris (simple)[["append","10^21"],["commit"],["append","/10"],["commit"]] | 1e+20 | Réussi dans la version préparée |
| C042 Lien du cas | Un signe négatif après multiplication est conservé (simple)[["append","2"],["append","*"],["append","-"],["append","3"],["commit"]] | -6 | Réussi dans la version préparée |
| C043 Lien du cas | Effacer puis recommencer (simple)[["append","42"],["commit"],["clear"],["append","8"],["commit"]] | 8 | Réussi dans la version préparée |
| C044 Lien du cas | Corriger la formule après = (simple)[["append","12+3"],["commit"],["backspace"],["append","4"],["commit"]] | 16 | Réussi dans la version préparée |
| C045 Lien du cas | Changer le signe avant saisie (simple)[["wrap","-"],["append","3"],["commit"]] | -3 | Réussi dans la version préparée |
| C046 Lien du cas | Un chiffre après = commence un nouveau calcul (scientifique)[["append","2+3"],["commit"],["append","4"],["commit"]] | 4 | Réussi dans la version préparée |
| C047 Lien du cas | Un opérateur après = reprend le résultat (scientifique)[["append","2+3"],["commit"],["append","*2"],["commit"]] | 10 | Réussi dans la version préparée |
| C048 Lien du cas | La précision de 1/3 est conservée (scientifique)[["append","1/3"],["commit"],["append","*3"],["commit"]] | 1 | Réussi dans la version préparée |
| C049 Lien du cas | Un résultat exponentiel peut être repris (scientifique)[["append","10^21"],["commit"],["append","/10"],["commit"]] | 1e+20 | Réussi dans la version préparée |
| C050 Lien du cas | Un signe négatif après multiplication est conservé (scientifique)[["append","2"],["append","*"],["append","-"],["append","3"],["commit"]] | -6 | Réussi dans la version préparée |
| C051 Lien du cas | Effacer puis recommencer (scientifique)[["append","42"],["commit"],["clear"],["append","8"],["commit"]] | 8 | Réussi dans la version préparée |
| C052 Lien du cas | Corriger la formule après = (scientifique)[["append","12+3"],["commit"],["backspace"],["append","4"],["commit"]] | 16 | Réussi dans la version préparée |
| C053 Lien du cas | Changer le signe avant saisie (scientifique)[["wrap","-"],["append","3"],["commit"]] | -3 | Réussi dans la version préparée |
| C054 Lien du cas | Ans reste le dernier résultat validé[["append","2+3"],["commit"],["append","ans+2"],["commit"],["toggleMode"],["commit"]] | 7 | Réussi dans la version préparée |
| C055 Lien du cas | Mai 2026 : 21 jours lundi–vendredi, moins 4 fériés{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2026-05-01","endDate":"2026-05-31"} | 17 | Réussi dans la version préparée |
| C056 Lien du cas | Mai 2026 sans exclusions automatiques{"calendar":"none","workweek":"monFri","holidays":"","startDate":"2026-05-01","endDate":"2026-05-31"} | 21 | Réussi dans la version préparée |
| C057 Lien du cas | Lundi de Pentecôte travaillé{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2026-05-01","endDate":"2026-05-31","workingHolidays":"2026-05-25"} | 18 | Réussi dans la version préparée |
| C058 Lien du cas | Pont ajouté et exclusion doublonnée{"calendar":"fr","workweek":"monFri","holidays":"2026-05-15,2026-05-01,2026-05-01","startDate":"2026-05-01","endDate":"2026-05-31"} | 16 | Réussi dans la version préparée |
| C059 Lien du cas | Exclusion hors plage sans effet{"calendar":"fr","workweek":"monFri","holidays":"2026-06-01","startDate":"2026-05-01","endDate":"2026-05-31"} | 17 | Réussi dans la version préparée |
| C060 Lien du cas | Vendredi saint selon la commune{"calendar":"alsace-friday","workweek":"monFri","holidays":"","startDate":"2026-04-03","endDate":"2026-04-06"} | 0 | Réussi dans la version préparée |
| C061 Lien du cas | Alsace-Moselle sans vendredi saint{"calendar":"alsace","workweek":"monFri","holidays":"","startDate":"2026-04-03","endDate":"2026-04-06"} | 1 | Réussi dans la version préparée |
| C062 Lien du cas | Martinique : commémoration du 22 mai{"calendar":"martinique","workweek":"monFri","holidays":"","startDate":"2026-05-22","endDate":"2026-05-22"} | 0 | Réussi dans la version préparée |
| C063 Lien du cas | Férié tombant un samedi, semaine sur 5 jours{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2026-08-10","endDate":"2026-08-16"} | 5 | Réussi dans la version préparée |
| C064 Lien du cas | Férié tombant un samedi, semaine sur 6 jours{"calendar":"fr","workweek":"monSat","holidays":"","startDate":"2026-08-10","endDate":"2026-08-16"} | 5 | Réussi dans la version préparée |
| C065 Lien du cas | Échéance depuis 2026-05-13 : 1 jour{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2026-05-13","amount":1} | 2026-05-15 | Réussi dans la version préparée |
| C066 Lien du cas | Échéance depuis 2026-05-15 : -1 jour{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2026-05-15","amount":-1} | 2026-05-13 | Réussi dans la version préparée |
| C067 Lien du cas | Échéance depuis 2026-05-14 : 0 jour{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2026-05-14","amount":0} | 2026-05-14 | Réussi dans la version préparée |
| C068 Lien du cas | Échéance depuis 2027-03-26 : 1 jour{"calendar":"fr","workweek":"monFri","holidays":"","startDate":"2027-03-26","amount":1} | 2027-03-30 | Réussi dans la version préparée |
| C069 Lien du cas | Calendrier : entrée impossible refusée{"calendar":"fr","workweek":"monFri","startDate":"2026-02-30","endDate":"2026-03-05"} | Erreur contrôlée | Réussi dans la version préparée |
| C070 Lien du cas | Calendrier : entrée impossible refusée{"calendar":"fr","workweek":"monFri","startDate":"2026-05-01","endDate":"2026-05-03","holidays":"2026-02-30"} | Erreur contrôlée | Réussi dans la version préparée |
| C071 Lien du cas | Calendrier : entrée impossible refusée{"calendar":"fr","workweek":"monFri","startDate":"2100-01-01","endDate":"2100-01-02"} | Erreur contrôlée | Réussi dans la version préparée |
| C072 Lien du cas | Net imposable distinct du net à payer{"direction":"grossToNet","amount":3000,"employeeRate":22,"withholdingRate":5,"employerRate":42,"paidMonths":12,"taxableNet":2450} | 2217.5 | Réussi dans la version préparée |
| C073 Lien du cas | PAS inconnu sans assiette fiscale{"direction":"grossToNet","amount":3000,"employeeRate":22,"withholdingRate":5,"employerRate":42,"paidMonths":12} | Non déterminé | Réussi dans la version préparée |
| C074 Lien du cas | PAS nul sans assiette{"direction":"grossToNet","amount":3000,"employeeRate":22,"withholdingRate":0,"employerRate":42,"paidMonths":12} | 2340 | Réussi dans la version préparée |
| C075 Lien du cas | Bonification nulle à 726,29 € depuis juin{"couple":"no","dependents":0,"applicantIncome":726.29,"partnerIncome":0,"otherResources":0,"housing":"none","scope":"standard"} | 0 | Réussi dans la version préparée |
| C076 Lien du cas | Bonification maximale à 1 698,78 € depuis juin{"couple":"no","dependents":0,"applicantIncome":1698.78,"partnerIncome":0,"otherResources":0,"housing":"none","scope":"standard"} | 240.63 | Réussi dans la version préparée |
| C077 Lien du cas | Prime sous 15 € non versée{"couple":"no","dependents":0,"applicantIncome":0,"partnerIncome":0,"otherResources":630,"housing":"none","scope":"standard"} | 0 | Réussi dans la version préparée |
| C078 Lien du cas | Avril–mai conservé et daté{"couple":"no","dependents":0,"applicantIncome":1500,"partnerIncome":0,"otherResources":0,"housing":"none","scope":"standard","period":"2026-04"} | 236.42914109395736 | Réussi dans la version préparée |
| C079 Lien du cas | Situation hors périmètre CAF refusée{"couple":"no","dependents":0,"applicantIncome":1500,"partnerIncome":0,"otherResources":0,"housing":"none","scope":"other"} | Erreur contrôlée | Réussi dans la version préparée |
| C080 Lien du cas | Plafond colocation personne seule zone 1{"zone":"1","couple":"no","dependents":0,"shared":"yes","annualResources":0,"rent":300,"scope":"standard"} | 249.86 | Réussi dans la version préparée |
| C081 Lien du cas | Plafond colocation personne seule zone 2{"zone":"2","couple":"no","dependents":0,"shared":"yes","annualResources":0,"rent":300,"scope":"standard"} | 217.76 | Réussi dans la version préparée |
| C082 Lien du cas | Plafond colocation personne seule zone 3{"zone":"3","couple":"no","dependents":0,"shared":"yes","annualResources":0,"rent":300,"scope":"standard"} | 204.09 | Réussi dans la version préparée |
| C083 Lien du cas | Champ salaire vide refusé{"direction":"grossToNet","amount":3000,"employeeRate":" ","withholdingRate":5,"employerRate":42,"paidMonths":12} | Erreur contrôlée | Réussi dans la version préparée |
24 exemples à reproduire sur les outils
Chaque réponse ci-dessous indique ses hypothèses sur la page concernée. Le bouton « Tester cet exemple » remplit le formulaire avec les mêmes valeurs. Les cas couvrent les fractions, les moyennes, les équations, les prêts, les rendements et les conventions de dates.
Télécharger les 24 exemples avec entrées et résultats attendus (JSON)
Ces 24 exemples ont été contrôlés dans la version préparée.
- Quelle moyenne pour 10 coefficient 1 et 14 coefficient 3 ?
- Que devient une note avec un coefficient nul ?
- 3 kg coûtent 12 € : combien coûtent 5 kg ?
- 4 personnes terminent en 6 jours : combien de jours à 8 ?
- Combien vaut 2/3 divisé par 4/5 ?
- Comment simplifier une fraction avec un signe négatif ?
- Comment résoudre 2x − 6 = 0 ?
- De petits coefficients changent-ils les solutions ?
- Que contient le tableau d’un prêt de 12 000 € à 0 % sur un an ?
- Comment se décompose un prêt de 200 000 € à 3,5 % sur 20 ans ?
- Passer de 1 000 € à 1 210 € en deux ans, est-ce 21 % par an ?
- Comment représenter une perte totale du placement ?
- Achat à 80 € HT, vente à 100 € HT : quels taux ?
- Que donne une vente à 100 € HT après un achat à 120 € HT ?
- Combien de jours du 28 février au 1er mars 2024 ?
- Combien de jours entre une date et elle-même ?
- Que donne le 31 janvier 2026 plus un mois ?
- Que donne le 29 février 2024 plus un an ?
- Combien de jours ouvrés en mai 2026 en France ?
- Un jour férié le week-end est-il déduit deux fois ?
- Que donnent 5 jours ouvrés après le 22 mai 2026 ?
- Comment revenir de 5 jours ouvrés depuis le 1er juin 2026 ?
- Comment convertir 7 h 30 en heures décimales ?
- Pourquoi 7,30 heures ne signifie-t-il pas 7 h 30 ?
Révision complémentaire du 15 septembre 2026 : petits coefficients et racines d’équations, mémoire de calcul, échéancier complet, perte totale d’un placement et catégories d’IMC avant arrondi. Ces contrôles sont complémentaires aux 83 cas présentés plus haut.
Formules, dates et conversions : 30 cas limites
Révision du 15 septembre 2026 : la notation scientifique et les petits diviseurs sont reconnus sur le graphique ; les dates impossibles sont refusées ; une conversion ne demande que les champs utiles au sens choisi. Les paramètres et attentes ci-dessous permettent de contrôler ces points.
Les attentes sont lisibles sans lancer les tests.
Lire les entrées, résultats attendus et explications
| Cas et outil | Entrées | Attente et raison | Exécution |
|---|---|---|---|
| Notation scientifique : 1e-3 × x Lien du cas | {"expression": "1e-3*x", "x": 2} | 0,002 1e-3 vaut 0,001 ; pour x = 2, le résultat vaut 0,002. | Non exécuté |
| Notation scientifique avec E majuscule Lien du cas | {"expression": "2E+3", "x": 0} | 2000 2E+3 représente 2 × 10³. | Non exécuté |
| Division par un petit nombre non nul Lien du cas | {"expression": "1/0.0000000000001", "x": 0} | 10000000000000,0 10⁻¹³ est non nul : son inverse vaut 10¹³. | Non exécuté |
| Constante e et multiplication implicite Lien du cas | {"expression": "2e", "x": 0} | 5,43656365691809 2e conserve le sens 2 × e ; un exposant chiffré distingue 2e3. | Non exécuté |
| Plusieurs arguments séparés par un point-virgule Lien du cas | {"expression": "min(2;-3;4)", "x": 0} | -3 Le minimum de 2, −3 et 4 est −3. | Non exécuté |
| Deux arguments pour pow Lien du cas | {"expression": "pow(2;3)", "x": 0} | 8 pow(2;3) calcule 2³. | Non exécuté |
| Argument surnuméraire de sin refusé Lien du cas | {"expression": "sin(30;90)", "x": 0, "mode": "deg"} | Erreur contrôlée sin attend un seul angle ; le deuxième ne doit pas être ignoré. | Non exécuté |
| Troisième argument de pow refusé Lien du cas | {"expression": "pow(2;3;4)", "x": 0} | Erreur contrôlée pow attend une base et un exposant, soit deux arguments. | Non exécuté |
| Minimum sans valeur refusé Lien du cas | {"expression": "min()", "x": 0} | Erreur contrôlée Le minimum nécessite au moins une valeur. | Non exécuté |
| Deux séparateurs décimaux refusés Lien du cas | {"expression": "1.2.3", "x": 0} | Erreur contrôlée 1.2.3 n’est pas un nombre ; aucune multiplication n’est déduite. | Non exécuté |
| Nombre hors domaine refusé Lien du cas | {"expression": "1e999", "x": 0} | Erreur contrôlée 1e999 dépasse le domaine des nombres flottants utilisés. | Non exécuté |
| Formule trop longue refusée sans troncature Lien du cas | {"expression": "1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1", "x": 0} | Erreur contrôlée La limite est de 160 caractères ; la formule entière est refusée au-delà. | Non exécuté |
| Cosécante d’un petit angle non nul Lien du cas | {"expression": "csc(1e-13)", "x": 0} | 10000000000000,0 En radians, sin(10⁻¹³) est proche de 10⁻¹³ : son inverse est proche de 10¹³. | Non exécuté |
| Tangente à 90 degrés refusée Lien du cas | {"expression": "tan(90)", "x": 0, "mode": "deg"} | Erreur contrôlée La tangente n’est pas définie à un quart de tour. | Non exécuté |
| Cosécante à pi radians refusée Lien du cas | {"expression": "csc(pi)", "x": 0} | Erreur contrôlée sin(pi) vaut mathématiquement zéro ; son inverse n’est pas défini. | Non exécuté |
| Priorité d’une puissance négative Lien du cas | {"expression": "2^-2", "x": 0} | 0,25 2⁻² = 1/4. | Non exécuté |
| Division par zéro refusée Lien du cas | {"expression": "1/0", "x": 0} | Erreur contrôlée Un diviseur exactement nul reste interdit. | Non exécuté |
| 29 février hors année bissextile refusé Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "2025-02-29T12:00", "zone": "utc"}} | Erreur contrôlée 2025 n’est pas bissextile ; le 29 février ne doit pas devenir le 1er mars. | Non exécuté |
| 31 avril refusé Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "2026-04-31T12:00", "zone": "utc"}} | Erreur contrôlée Avril comporte 30 jours ; le 31 avril ne doit pas devenir le 1er mai. | Non exécuté |
| Heure 24:00 refusée Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "2026-01-01T24:00", "zone": "utc"}} | Erreur contrôlée Le formulaire attend une heure de 00:00 à 23:59 ; saisir le lendemain à 00:00. | Non exécuté |
| Minute 60 refusée Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "2026-01-01T12:60", "zone": "utc"}} | Erreur contrôlée Les minutes vont de 00 à 59. | Non exécuté |
| Décalage horaire invalide refusé Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "1970-01-01T00:00+25:00", "zone": "utc"}} | Erreur contrôlée Le décalage +25:00 dépasse le domaine accepté. | Non exécuté |
| 29 février bissextile conservé Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "2024-02-29T12:00", "zone": "utc"}} | 2024-02-29T12:00:00.000Z 2024 est bissextile : la date reste le 29 février. | Non exécuté |
| Un décalage explicite conserve l’instant Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "1970-01-01T01:00+01:00", "zone": "utc"}} | 0 01:00 avec le décalage +01:00 correspond à 00:00 UTC. | Non exécuté |
| Année 0099 conservée Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "0099-01-01T00:00", "zone": "utc"}} | 0099-01-01T00:00:00.000Z Une année sur quatre chiffres n’est pas réinterprétée comme 1999. | Non exécuté |
| Seconde négative arrondie vers le bas Lien du cas | {"params": {"direction": "toTimestamp", "dateTime": "1969-12-31T23:59:59.500Z", "zone": "utc"}} | -1 −0,5 seconde est ramenée à −1 seconde entière, conformément à la convention affichée. | Non exécuté |
| Allure sans vitesse saisie Lien du cas | {"params": {"direction": "forward", "paceMinutes": 5, "paceSeconds": 0}} | 12 60 ÷ 5 = 12 km/h ; la vitesse est le résultat, pas une entrée obligatoire. | Non exécuté |
| Vitesse sans allure saisie Lien du cas | {"params": {"direction": "reverse", "speed": 12}} | 5 60 ÷ 12 = 5 min/km ; les minutes et secondes ne sont pas des entrées obligatoires. | Non exécuté |
| Champ inactif sans effet sur le calcul Lien du cas | {"params": {"direction": "forward", "paceMinutes": 5, "paceSeconds": 0, "speed": ""}} | 12 Dans ce sens, seule l’allure est utilisée ; une ancienne vitesse vide n’empêche pas le calcul. | Non exécuté |
| Allure active manquante refusée Lien du cas | {"params": {"direction": "forward", "paceMinutes": "", "paceSeconds": 0}} | Erreur contrôlée Les minutes doivent être renseignées lorsque l’allure est l’entrée. | Non exécuté |
Les dates suivent le format date-heure local de HTML. Une heure locale inexistante lors du passage à l’heure d’été est refusée. Lors du retour à l’heure d’hiver, une heure répétée est interprétée selon la première occurrence retenue par le navigateur ; UTC permet de désigner un instant sans ambiguïté dans le convertisseur Unix.
Conversions : distinguer les paramètres
Les exemples de température et d’écart, de variation en kelvins et de chrono sur une distance montrent les données et les étapes. Les 97 tests publics des moteurs Mesures couvrent aussi ces cas. Le traitement de listes applique les mêmes fonctions et exporte leurs paramètres.
Calendriers et comparaisons de périodes
Les tableaux mensuels 2026–2027 détaillent le décompte des jours ouvrés et ouvrables selon les fêtes retenues. Les 240 lignes CSV et les données JSON conservent les dates exclues, la méthode et les conditions de réutilisation.
Le calcul d’inflation entre deux années publie les 24 niveaux annuels Insee utilisés et permet de reproduire les exemples. Les pages impôt sur le revenu et mètres, pieds et pouces exposent aussi leurs nouveaux calculs, avec les paramètres et les limites. Ces vérifications ne constituent pas une certification professionnelle.
Santé : contrôler les seuils et les dates
Neuf cas hypothétiques vérifient les arrondis, les bornes d’IMC, une datation connue et les limites des projections. Lire les exemples et rejouer les neuf cas · Entrées et attentes JSON. Ces vérifications arithmétiques ne sont pas une validation clinique.
Pourcentages : variations, taux moyen et points
Douze exemples exposent les étapes et les limites : remises successives, taux annuel moyen, différence en points, base négative et petits résultats. Les cas restent lisibles sans exécuter le calcul.
Lire les exemples et les reproduire · Rejouer les 12 cas · Entrées et attentes JSON.
Salaire : modèle et scénarios datés
Le calcul brut/net propose un parcours local fondé sur le modèle social Urssaf 11.1.0, référence juillet 2026. Les six scénarios distinguent brut, net avant impôt, net imposable et prélèvement ; leurs paramètres sont publiés.
Lire et reproduire les six scénarios · Entrées et résultats JSON. Ce contrôle de version ne constitue pas une validation professionnelle de toutes les paies.
Repères par rubrique
Les 40 exemples expliqués des pages de vérification (JSON) et les 130 repères de conversion (JSON) complètent ces cas. Chaque repère de conversion indique son unité, sa convention, son arrondi et la page qui en donne les sources. Leur réutilisation suit les conditions de citation du site.
Signaler une erreur
Indiquez la page, les entrées, le résultat obtenu et le résultat attendu à [email protected]. N’envoyez pas de données personnelles sensibles. La méthode de correction et la responsabilité éditoriale sont publiques.