Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    [Length] problema calcolo della lunghezza per una variabile interna alla funzione

    Scusate la banalità della domanda, ma perchè questo controllo non funziona?

    (....)
    giorno =data.getDate(data);
    mese =data.getMonth(data)+1;

    if (mese.length == 1)
    {
    mese ='0'+mese
    }

    if (giorno.length == 1)
    {
    giorno ='0'+giorno
    }
    Non riesco ad uscirne

    Ho provato anche in altri modi
    mese.value.length

    oppure assegnando

    var lungmese = mese.value.length

    e poi facendo il controllo...

    Qualcuno che sa darmi qualche dritta?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perche' questi metodi ritornano un intero
    if(mese<=9){}

    oppure esplicitamente castalo come stringa
    if(mese.toString().length == 1){}

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da Xinod
    perche' questi metodi ritornano un intero
    if(mese<=9){}

    oppure esplicitamente castalo come stringa
    if(mese.toString().length == 1){}

    ciao
    Grazie. Ora è ok.

    Mi hai fatto recuperare davvero parecchio tempo (anche se altro purtroppo l'ho perso alla ricerca di questa soluzione).

    Grazie ancora e spero di ricambiare presto.

  4. #4
    il problema sta nel fatto che le due variabili giorno e mese non sono stringhe, ma numeri, e quindi non hanno una proprietà length.

    Quindi puoi fare un cast a string delle due variabili sopra citate e poi usare tranquillamente la proprietà length oppure cambiare l'if con uno equivalente. In sostanza entrambi questi due blocchi di codice dovrebbe fungere allo scopo:

    Codice PHP:
    // prima versione con il cast a string
    giorno = (data.getDate(data)).toString();
    mese = (data.getMonth(data)+1).toString();

    if (
    mese.length == 1)
    {
    mese ='0'+mese
    }

    if (
    giorno.length == 1)
    {
    giorno ='0'+giorno

    o

    Codice PHP:
    // seconda versione cambiando l'if
    giorno =data.getDate(data);
    mese =data.getMonth(data)+1;

    if (
    mese 10)
    {
    mese ='0'+mese
    }

    if (
    giorno 10)
    {
    giorno ='0'+giorno


    UPDATE: scusate, non avevo visto che c'era già una risposta...

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    o ancora
    mese =''+(data.getMonth()+1);

    if (mese.length == 1){}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.