Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [controllo variabile numerica]

    salve ragazzi, ho una difficoltà.

    Dovrei controllare se un valore è effettivamente un numero double o intero per poi effettuare dei calcoli.

    E' solo che non mi ricordo la funzione più adatta.

    Sottolineo che il controllo deve fornirmi true sia che il valore sia intero che double.


    Grazie.

  2. #2

  3. #3
    perdonatemi ho risolto l'ho trovate:


    is_float() e is_int().


    Scusate il disturbo

  4. #4
    grazie marco ciao

  5. #5
    Sono di nuovo qui.

    Ho un semplice problema, ho una form che dovrebbe inviare dei valori numerici(tipo interi o double) e non so come impostare il type del tag input.


    Io faccio così:

    <input type="double".....>

    //ma in php quando faccio il controllo is_double mi da errore.
    mi correggo non da errore ma non passo il controllo
    Sbaglio il type? Non è così che si imposta?


    Altra domanda io vorrei che dal form si passassero valori sia int che double. E' un problema?

    Grazi

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non penso esista un type="double" in html... il type è text, hidden, password, etc etc quello che vuoi... poi quando recuperi il valore (via php, javascript o che) ti fai il controllo...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    infatti io ho provato con type=text.

    Però php riceve il valore text e le funzioni is_int e is_double lo interpretano come valore testo e non mi fanno passare il controllo.


    Forse dovrei usare prima una funzione di php che trasforma da testo in valore numerico(diciamo double).

    Mi potreste suggerire una funzione che fa questo per favore?

  8. #8
    Originariamente inviato da lorenz_italy
    Ho un semplice problema

    Io faccio così:

    <input type="double".....>
    avevo letto questo 3D ... aspettavo solo questo problema

    is_numeric è una funzione relativamente inutile, soprattutto se i dati devono arrivare "dall' esterno" (e una input può essere text, mai double o int) .

    is_int ed is_float non ti serviranno a niente invece, perchè daranno true solo se il dato è di tipo int, o float, per l'appunto.

    Quando invii in GET o POST php considera sempre stringhe, queste variabili.

    una funzione utile potrebbe essere questa:
    codice:
    function is_number($n) {
    	if(preg_match("/^[0-9]+$/", $n))
    		$result = (int) $n;
    	elseif(preg_match("/^[0-9]*\.[0-9]+$/", $n))
    		$result = (double) $n;
    	else
    		$result = false;
    	return $result;
    }
    
    
    // esempio
    if(is_number($_POST['data']) !== false)
    	echo is_int($_POST['data']) ? 'int' : 'float';
    notare la parte in bold per il controllo, essenziale per il corretto parse del risultato.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    facendo un semplice cast invece cosa succede?

  10. #10
    Originariamente inviato da lorenz_italy
    facendo un semplice cast invece cosa succede?
    succede che avrai sempre un int o un double, anche se il tipo ha scritto "ciao", valore sicuramente inutile, facilmente filtrabile con la mia funzione.


    Comunque io ho risposto a questo:
    Originariamente inviato da lorenz_italy
    Dovrei controllare se un valore è effettivamente un numero double o intero per poi effettuare dei calcoli.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.