Domanda

$bal = (int)$balance;
echo is_int($bal);

$ equilibrio è da un file_get_contents ($ webservice);

sto usando (int) per convertire una stringa in numero intero. ritorna is_int 1 per vero come verifica.

Poiché il valore di $ bal è sempre negativo, faccio il seguente calcolo per renderlo una positiva:

$bal = $bal * -1;

Quando faccio questo, il valore diventa 0 anche se $ bal può essere -150 in precedenza.

Modifica 1 var_dump ($ equilibrio) è di ritorno: string (110) " -399.6000"

Modifica 2 Ho usato XML Parser alla variabile assegnare ad array -. Vedere la mia risposta seguente

È stato utile?

Soluzione 3

Il problema è che stavo usando file_get_contents di interagire con un metodo GET per un servizio Web.

Questo stava tornando dati di intestazione XML, che ho trascurato quando si assegna a una variabile.

per cancellare il codice XML per lasciarli con solo il valore che volevo, ho usato il PHP XML_PARSER che memorizzato file_get_contents in un array e mi ha permesso di assegnare il valore di matrice per un numero intero.

$result = file_get_contents($base);

$p = xml_parser_create();
xml_parse_into_struct($p, $result, $vals, $index);
xml_parser_free($p);  
$bal = $vals[0]['value'];
echo $bal *-1;

Altri suggerimenti

Vi consiglio di PHP abs() funzione se si vuole fare in modo che si sta sempre a che fare con un numero positivo:

$bal = abs($bal);

Come per l'output var_dump, la stringa inizia con uno spazio. Utilizzare questa:

$bal = intval(trim($balance));

provare questo a se si desidera ripristinare il segno:

$bal = $bal * (-1);

abs () se si vuole che sia sempre positivi:

$bal = abs($bal);
$balance="-150";
$bal = $balance*1;
echo $bal;

dà -150

Qual è il tuo programma di fare con $ bal dopo che fate l'moltiplicano? Il seguente script PHP ha funzionato come previsto sul mio portatile:

<?php
$balance = "-150";
$bal = (int)$balance;
echo is_int($bal);
$bal = $bal * -1;
echo $bal;
?>

L'uscita è "1150", perché non mi sono preoccupato con linebreaks. Puoi pubblicare più del vostro codice

Penso che è possibile effettuare i calcoli semplice utilizzando la funzione intval (), che restituisce il valore intero di qualsiasi variabile. Passare attraverso la descrizione della funzione se si dispone di un manuale di PHP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top