IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Equation avec Int en Delphi


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Par défaut Equation avec Int en Delphi
    salut a tous,

    j'ai l'equation suivante: Int(Brut/1000)=146. Comment déterminer Brut?

    Merci pour vos reponses.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    C'est pas des mathématiques élémentaires ça ?

    -> Brut = 146*1000

    Evidemment, la perte de précision du à la récupération de la partie entière est irrémmédiable ...

    J'ai personnellement l'impression d'avoir répondu à côté, mais la question manque de précision ... ou de rapport avec delphi
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Par défaut
    je code en delphi
    Voici l'equation complete:

    150 0000=BRUT-0.036*BRUT-INT(BRUT/1000)*1000. alors si j'arrive a resoudre ça
    Int(Brut/1000)=146
    par exemple alors je pourrai resoudre la grande equation.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Par défaut
    je vais poser le problem autrement.

    Int(130899/1000)*1000=130 000
    comment obtenir 130 000 a partir de 130 899 sans passer par In ou par une fonction quelconque?

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    Mais quel est le rapport avec Delphi, c'est des maths !

    Int te fait perdre la précision, donc en théorie retrouver brut est impossible ou en tout cas avec une marge d'erreur assez conséquente ....

    EDIT : comme tu posèe le problème autrement, on peut y répondre autrement, ... et ce qui est intéressant c'est que cela n'a rien à voir

    Voir la Fonction RoundTo(130899, 3); ça devrait fonctionner, dispo depuis D7 ou D6
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Par défaut
    Je suis d'accord c'est les maths. Mais je code en delphi.
    justement je veux me passer des fonctions. Ceci me permettra de résoudre mon équation aisement.

  7. #7
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Int renvoie la troncature. Int(x/1000)*1000 renvoie la troncature au millier le plus proche. L'équation Int(x/1000)*1000=130000 a donc pour solutions toutes les valeurs réelles comprises entre 130000 inclus et 131000 exclus (ex : 130574,52).

  8. #8
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    Les Fonctions Delphi produisent des arrondis !!! tu peux que juste les ignorés mais tu auras un calcul Faux, car Int n'a pas de réciproque, encore une fois c'est les BASES des mathématiques

    Int(Brut/1000)=146 -> Brut = 146*1000

    BRUT- 0.036 *BRUT - INT(BRUT/1000)*1000 = 150000
    BRUT- 0.036 *BRUT = 150000 + INT(BRUT/1000)*1000
    BRUT = 150000 + INT(BRUT/1000)*1000 / 0.964
    BRUT - INT(BRUT/1000)*1000 / 0.964 = 150000 / 0.964
    BRUT - BRUT / 0.964 = 150000 / 0.964
    (BRUT * 0.964 + BRUT ) / 0.964 = 150000 / 0.964
    BRUT * 1.964 / 0.964 = 150000 ...
    bon après c'est des chiffres à virgule ... c'est lourd ... en tout cas le calcul est faux ! car la réciproque de "INT(BRUT/1000)*1000" donne une erreur d'arrondi ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Erreur de paramètre avec SQL sur Delphi
    Par ghan77 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/01/2006, 13h30
  2. Problème de déploiment avec Excel et Delphi
    Par wbagg2 dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 18/01/2006, 22h59
  3. Problème avec EInOutError sous delphi 2005
    Par Teb dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2005, 11h48
  4. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35
  5. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo