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

    dati FLOAT -> confronto tra variabili con Mr. Php

    Ciao a tutti

    vorrei eseguire il confronto tra 2 variabili float :
    mi spiego meglio :

    ho due valori :
    a = 1.8
    b = 2.54

    a -> proviene da una tabella di database
    b -> è un dato immesso da un utente

    q u e s i t o :

    come faccio in php a sapere se A è minore di B e viceversa ?



    grazzzzzie!! a tutti in anticipo e buon lavoro

  2. #2
    codice:
    $a = abs(1.8);
    $b = abs(2.54);
    
    if($a > $b) echo "$a > $b";
     elseif($b > $a)  echo "$b > $a";
       else echo "$a = $b";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    ok

    grazie provero' nel pomeriggio poichè i dati da esaminare sono circa un centinaio

  4. #4

    Specifica sul quesito

    ok su variabili fisse funzia
    ma in realtà con il caricamento dei dati dal db non funziona

    mi spiego :

    uno dei campi della tabella dove deve essere fatto il confronto è di tipo :
    creatinina varchar(6) null(Si) 0
    azotemia varchar(6) null(Si) 0
    glicemia varchar(6) null(Si) 0

    inserendo i dati

    esempio valore creatinina -> 1.4 (valore normale 1.0)

    nel codice devo eseguire il confronto del valore
    quindi se il valore della creatinina super 1.0 visualizzo l'allarme

    ecco l'esempio del codice :

    codice:
    // variabili
    $b = abs(1.1);
    $a = abs($rowESAMI[19]);//(campo Creatinina)
    
    if ($a > $b) 
    		
        {
         //(*->*) allarme valore creatinina elevato
          echo "<td bgcolor=#F2FBFD><FONT SIZE=-2 FACE=Arial color=#0066FF><center><img src=Images/note2.BMP> $rowESAMI[19]</center></font></td>\n";
        }
        else {
    
        // valore normale .. nessun allarme
          echo "<td bgcolor=#F2FBFD><FONT SIZE=-2 FACE=Arial color=#0066FF><center>$rowESAMI[19]</center></font></td>\n";
        }
    bhe... (*->*) non funziona .. come mai ??

  5. #5
    ma il campo nel db e' un varchar? Metti un FLOAT(6,2).

    echo $a cosa ti stampa?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6

    re

    il campo nel db è formattato come un float 6,1

    il valore presente è : 1.9
    il valore restituito con : echo "$a"; è uguale a 1

    perche'??

  7. #7
    Metti lo script che usi ad estrarre il numero. Php te l'arrotonda.

    abs() in realta' non serve e ti converte dei numeri negativi in positivi. L'avevo messo solo per assicurarmi che quello che passavi fossi realmente un numero.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8

    php lo arrotonda

    è vero php arrotonda il valore per cui il confronto fallisce

    come c...o faccio ??

    cmq grazie

  9. #9

    Re: php lo arrotonda

    Originariamente inviato da massimodan
    è vero php arrotonda il valore per cui il confronto fallisce

    come c...o faccio ??

    cmq grazie
    Ma.. forse piu' che arrotonda direi che taglia il decimale.

    Non e' che usi la virgola? prova a vedere con is_float() se' e' ancora float oppure e' diventato un intero oppure una stringa.

    oppure stampa l'array $rowESAMI per vedere se al momento del passaggio dei dati c'e' il decimale...

    echo "<pre>";
    print_r($rowESAMI);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    ecco il risultato

    Array
    (
    [0] => 275
    [1] => 182
    [2] => 153
    [3] => E
    [4] => Valori nei limiti
    [5] => 1
    [6] => 7
    [7] => 2005
    [8] => 12
    [9] => 51
    [10] => 438
    [11] => 37
    [12] => 17
    [13] => 7.9
    [14] =>
    [15] => 26
    [16] => 19
    [17] => 73
    [18] =>
    [19] => 7.0 -> il nostro valore
    [20] => 6.6
    [21] =>
    [22] =>
    [23] =>
    [24] =>
    [25] =>
    [26] => 135
    [27] => 5.6
    [28] =>
    [29] =>
    [30] =>
    [31] => 4.04
    [32] => 11.2
    [33] => 34.1
    [34] => 5.55
    [35] => 249
    [36] =>
    [37] =>
    [38] =>
    [39] => 2005-07-01 12:54:03
    [40] => 12
    )

    7.0 135 5.6 4.04 11.2 34.1 5.55 249 Valori nei limiti 1-7 12:51
    169 Array
    (
    [0] => 278
    [1] => 182
    [2] => 153
    [3] => G
    [4] => Valori nei limiti
    [5] => 1
    [6] => 7
    [7] => 2005
    [8] => 22
    [9] => 11
    [10] =>
    [11] =>
    [12] =>
    [13] =>
    [14] =>
    [15] =>
    [16] =>
    [17] =>
    [18] => 169
    [19] => 3.2 -> il nostro valore
    [20] =>
    [21] =>
    [22] =>
    [23] =>
    [24] =>
    [25] =>
    [26] => 130
    [27] => 6.3
    [28] =>
    [29] =>
    [30] =>
    [31] =>
    [32] =>
    [33] =>
    [34] =>
    [35] =>
    [36] =>
    [37] =>
    [38] =>
    [39] => 2005-07-01 23:38:17
    [40] => 12
    )

    8.0 130 6.3 Valori nei limiti 1-7 22:11
    169 77 13 191 Array
    (
    [0] => 294
    [1] => 182
    [2] => 153
    [3] => - AMILASI 52
    [4] => Valori nei limiti
    [5] => 2
    [6] => 7
    [7] => 2005
    [8] => 9
    [9] => 54
    [10] => 169
    [11] => 77
    [12] => 13
    [13] =>
    [14] =>
    [15] => 22
    [16] => 15
    [17] => 63
    [18] => 191
    [19] => 9.2 -> il nostro valore
    [20] => 8.4
    [21] =>
    [22] => 122
    [23] => 7.1
    [24] =>
    [25] =>
    [26] => 130
    [27] => 4.4
    [28] => 7.0
    [29] =>
    [30] =>
    [31] => 3.58
    [32] => 9.9
    [33] => 29.6
    [34] => 14.39
    [35] => 229
    [36] => 77
    [37] => 11.2
    [38] => 1.02
    [39] => 2005-07-02 11:54:47
    [40] => 12
    )




    cio' dimostra che i dati NON sono arrotondati

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 © 2024 vBulletin Solutions, Inc. All rights reserved.