NUMERI IN PHP

In PHP i numeri si dividono in numeri interi e float (virgola mobile), non dobbiamo preoccuparci di come rappresentare un numero, basta semplicemente assegnarlo a una variabile, poi sarà PHP a decidere se il numero sarà un intero oppure un float. PHP ci mette a disposizione diverse funzioni per controllare i numeri, ad esempio se una certa variabile contiene un numero oppure no, come is_numeric(valore).

float and int
string
Is_Numeric()

Oltre alla funzione is_numeric(valore) abbiamo funzioni che controllano se un tipi è un intero o un float, is_int(valore) e is_float(valore).

OPERAZIONI ARITMETICHE

1) + ADDIZIONE

2) SOTTRAZIONE

3) * MOLTIPLICAZIONE

4) / DIVISIONE

5) ** ELEVAMENTO A POTENZA

6) % OPERATORE MODULO

Operation with numbers

Essendo il PHP debolmente tipizzato, possiamo assegnare un numero sotto forma di stringa ad una variabile e sommarlo ad un altro numero. Quello che dietro le quinte succede è la conversione della stringa in un Integer.

casting

CONFRONTO TRA VALORI FLOAT

Quando effettuiamo confronti su valori float dobbiamo prestare attenzione. Supponiamo di definire una variabile $x = 0.1 + 0.2 e una variabile $y = 0.3. Se proviamo ad effettuare il test $x == $y otterremo un false. Questo dipende dallo standard di rappresentazione dei numeri in virgola mobile. Lo stesso problema si verifica anche in javascript, che usa lo stesso standard. Apriamo gli strumenti del browser Chrome con F12.

Browser

Come possiamo vedere 0.1 + 0.2 non da esattamente 0.3, questo dipende dalla rappresentazione binaria dei floating point. Per confrontare in modo sicuro dei numeri float abbiamo bisogno di un delta massimo. Se due valori float hanno la differenza minore di questo delta li possiamo considerare uguali.

delta

In PHP abbiamo molte funzioni per i numeri, il codice sotto riportato ne evidenzia alcune di uso comune.

Number function

LINK AI POST PRECEDENTI

IL LINGUAGGIO PHP