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

Langage PHP Discussion :

[conversion] entier long en string


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut [conversion] entier long en string
    Bonjour,

    j'ai un petit souci dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    /*------------------------------------------------------------------------
     * Entree(s) :
     *    - $date dd-mm-yyyy
     * Sortie(s) :
     *    - date en 100aines de nanosecondes écoulées depuis le 01/01/1601
     * variable(s) globale(s) : 
     *    - 
     *------------------------------------------------------------------------
     * 
     * Convertit une date clasique dd-mm-yyyy 
     * en date LDAP
     * (100aines de nanosecondes écoulées depuis le 01/01/1601)
     * 
     */ 
    function convert_time_ddmmyyyy2ldap($value)
    {    
        // Unix time stamp
        $unixTsLastLogon = strtotime ($value) ;
        // secondes depuis le 1 jan 1601
        $ADToUnixConvertor=((1970-1601) * 365.242190) * 86400; 
        $secsAfterADEpoch = $unixTsLastLogon + $ADToUnixConvertor ;
        $dateLargeInt = $secsAfterADEpoch * (10000000) ;
        echo "dateLargeInt = ".$dateLargeInt."<br />\n" ;
        $dateStr = (string)$dateLargeInt ;
        echo "dateStr = ".$dateStr."<br />\n" ;
        return $dateStr;
    }
    Quand je rentre '2010-10-01' il me sort "1.2930389404704E+17"
    Bien évidement j'aimerais un nombre sans puissance de 10...

    Quelqu'un a-t-il la solution ?

    Merci à vous, Florent.

  2. #2
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    Bon j'ai fait le bourrin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    /*------------------------------------------------------------------------
     * Entree(s) :
     *    - $date dd-mm-yyyy
     * Sortie(s) :
     *    - date en 100aines de nanosecondes écoulées depuis le 01/01/1601
     * variable(s) globale(s) : 
     *    - 
     *------------------------------------------------------------------------
     * 
     * Convertit une date clasique dd-mm-yyyy 
     * en date LDAP
     * (100aines de nanosecondes écoulées depuis le 01/01/1601)
     * 
     */ 
    function convert_time_ddmmyyyy2ldap($value)
    {    
        // Unix time stamp
        $unixTsLastLogon = strtotime ($value) ;
        // secondes depuis le 1 jan 1601
        $ADToUnixConvertor=((1970-1601) * 365.242190) * 86400; 
        $secsAfterADEpoch = $unixTsLastLogon + $ADToUnixConvertor ;
        $dateLargeInt = $secsAfterADEpoch * (10000000) ;
     
        $dateStr = (string)$dateLargeInt ;
     
        $dateStr = preg_replace ("#\.#", "", $dateStr) ;
        preg_match ("#E\+(\d+)#i", $dateStr, $tab_res) ;
        $exposant = $tab_res[1] ;
     
        $dateStr = preg_replace ("#E\+\d+#i", "", $dateStr) ;
        $len = strlen($dateStr) ;
        for ($i = $len ; $i < $exposant+1 ; $i++)
        {
            $dateStr = $dateStr."0" ;
        }
     
        return $dateStr;
    }
    Je laisse la discutions ouverte dès fois que quelqu'un aurait uns solution plus élégante.

    ++Florent.

  3. #3
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Pour les grands chiffres tu as les fonctions BC Math

Discussions similaires

  1. Conversion entiers longs > binaire
    Par Fabiani dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/02/2009, 01h55
  2. Conversion d'un long en String
    Par marguerite99 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 05/04/2008, 19h11
  3. conversion de vecteur de string en entier?
    Par toutounesan dans le forum C++
    Réponses: 31
    Dernier message: 26/09/2007, 14h04
  4. conversion entier string
    Par bouzaidi dans le forum C++
    Réponses: 6
    Dernier message: 12/06/2007, 11h32
  5. Convertir un entier long en string
    Par aroueche dans le forum C
    Réponses: 5
    Dernier message: 12/07/2004, 13h48

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