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 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 | 2*-32*-3 | -6 | Réussi dans la version préparée |
| C002 | 2^-22^-2 | 0.25 | Réussi dans la version préparée |
| C003 | -2^2-2^2 | -4 | Réussi dans la version préparée |
| C004 | (-2)^2(-2)^2 | 4 | Réussi dans la version préparée |
| C005 | 2^3^22^3^2 | 512 | Réussi dans la version préparée |
| C006 | 200+10%200+10% | 220 | Réussi dans la version préparée |
| C007 | 200+-10%200+-10% | 180 | Réussi dans la version préparée |
| C008 | 200-10%200-10% | 180 | Réussi dans la version préparée |
| C009 | 100*10%100*10% | 10 | Réussi dans la version préparée |
| C010 | 1e-161e-16 | 1e-16 | Réussi dans la version préparée |
| C011 | 1/1e-161/1e-16 | 1e+16 | Réussi dans la version préparée |
| C012 | 1e21+11e21+1 | 1e+21 | Réussi dans la version préparée |
| C013 | 0.1+0.20.1+0.2 | 0.3 | Réussi dans la version préparée |
| C014 | (12+8)*3(12+8)*3 | 60 | Réussi dans la version préparée |
| C015 | 1-11-1 | 0 | Réussi dans la version préparée |
| C016 | 0^00^0 | 1 | Réussi dans la version préparée |
| C017 | Refus : 1/01/0 | Erreur contrôlée | Réussi dans la version préparée |
| C018 | Refus : 1..21..2 | Erreur contrôlée | Réussi dans la version préparée |
| C019 | Refus : 2+2+ | Erreur contrôlée | Réussi dans la version préparée |
| C020 | Refus : (2+3(2+3 | Erreur contrôlée | Réussi dans la version préparée |
| C021 | Refus : 2(3)2(3) | Erreur contrôlée | Réussi dans la version préparée |
| C022 | Refus : 999999999999999999999999999999…99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | Erreur contrôlée | Réussi dans la version préparée |
| C023 | Refus : 1e3091e309 | Erreur contrôlée | Réussi dans la version préparée |
| C024 | sin(30) — degsin(30) | 0.5 | Réussi dans la version préparée |
| C025 | cos(60) — degcos(60) | 0.5 | Réussi dans la version préparée |
| C026 | sin(pi/2) — radsin(pi/2) | 1 | Réussi dans la version préparée |
| C027 | sqrt(81) — degsqrt(81) | 9 | Réussi dans la version préparée |
| C028 | 1e-16 — deg1e-16 | 1e-16 | Réussi dans la version préparée |
| C029 | 1/1e-16 — deg1/1e-16 | 1e+16 | Réussi dans la version préparée |
| C030 | 2^-2 — deg2^-2 | 0.25 | Réussi dans la version préparée |
| C031 | ncr(49;6) — degncr(49;6) | 13983816 | Réussi dans la version préparée |
| C032 | log(1000) — deglog(1000) | 3 | Réussi dans la version préparée |
| C033 | 0xFF+1 — deg0xFF+1 | 256 | Réussi dans la version préparée |
| C034 | Refus scientifique : 1/01/0 | Erreur contrôlée | Réussi dans la version préparée |
| C035 | Refus scientifique : sqrt(-1)sqrt(-1) | Erreur contrôlée | Réussi dans la version préparée |
| C036 | Refus scientifique : tan(90)tan(90) | Erreur contrôlée | Réussi dans la version préparée |
| C037 | Refus scientifique : 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | Erreur contrôlée | Réussi dans la version préparée |
| C038 | 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 | 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 | 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 | 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 | 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 | Effacer puis recommencer (simple)[["append","42"],["commit"],["clear"],["append","8"],["commit"]] | 8 | Réussi dans la version préparée |
| C044 | Corriger la formule après = (simple)[["append","12+3"],["commit"],["backspace"],["append","4"],["commit"]] | 16 | Réussi dans la version préparée |
| C045 | Changer le signe avant saisie (simple)[["wrap","-"],["append","3"],["commit"]] | -3 | Réussi dans la version préparée |
| C046 | 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 | 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 | 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 | 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 | 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 | Effacer puis recommencer (scientifique)[["append","42"],["commit"],["clear"],["append","8"],["commit"]] | 8 | Réussi dans la version préparée |
| C052 | Corriger la formule après = (scientifique)[["append","12+3"],["commit"],["backspace"],["append","4"],["commit"]] | 16 | Réussi dans la version préparée |
| C053 | Changer le signe avant saisie (scientifique)[["wrap","-"],["append","3"],["commit"]] | -3 | Réussi dans la version préparée |
| C054 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | É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 | É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 | É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 | É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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | {"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 | {"expression": "2E+3", "x": 0} | 2000 2E+3 représente 2 × 10³. | Non exécuté |
| Division par un petit nombre non nul | {"expression": "1/0.0000000000001", "x": 0} | 10000000000000,0 10⁻¹³ est non nul : son inverse vaut 10¹³. | Non exécuté |
| Constante e et multiplication implicite | {"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 | {"expression": "min(2;-3;4)", "x": 0} | -3 Le minimum de 2, −3 et 4 est −3. | Non exécuté |
| Deux arguments pour pow | {"expression": "pow(2;3)", "x": 0} | 8 pow(2;3) calcule 2³. | Non exécuté |
| Argument surnuméraire de sin refusé | {"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é | {"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é | {"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 | {"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é | {"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 | {"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 | {"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 | {"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 | {"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 | {"expression": "2^-2", "x": 0} | 0,25 2⁻² = 1/4. | Non exécuté |
| Division par zéro refusée | {"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é | {"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é | {"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 | {"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 | {"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é | {"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é | {"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 | {"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 | {"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 | {"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 | {"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 | {"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 | {"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 | {"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.
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.