Question

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

$ l'équilibre est d'un file_get_contents ($ webservice);

J'utilise (int) pour convertir une chaîne en entier. retours is_int 1 pour vrai que la vérification.

Parce que la valeur de $ est toujours négatif bal, je le calcul suivant pour le rendre positif:

$bal = $bal * -1;

Quand je fais cela, la valeur devient 0 $ même si bal peut être -150 précédemment.

EDIT 1 var_dump (solde de $) est de retour: string (110) " -399.6000"

EDIT 2 J'ai utilisé XML Parser à la variable assign à un tableau -. Voir ma réponse ci-dessous

Était-ce utile?

La solution 3

Le problème est que j'utilisais file_get_contents d'interagir avec une méthode GET pour un service Web.

revenait des données d'en-tête XML que je négligé lors de l'affectation à une variable.

Pour effacer le XML de me laisser avec juste la valeur que je voulais, je le XML_Parser PHP qui stocke file_get_contents dans un tableau et m'a permis d'attribuer la valeur de tableau à un nombre entier.

$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;

Autres conseils

Je recommande PHP abs() fonction si vous voulez vous assurer que vous êtes toujours affaire à un nombre positif:

$bal = abs($bal);

Selon votre sortie var_dump, votre chaîne commence par un espace. Utilisez ceci:

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

essayer cela si vous voulez revenir le signe:

$bal = $bal * (-1);

ou utilisez abs () si vous voulez qu'il soit toujours positif:

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

donne -150

Quel est votre programme de faire avec $ après bal vous faites le multiplier? Le script PHP ci-dessous fonctionné comme prévu sur mon ordinateur portable:

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

La sortie est « 1150 » parce que je ne l'ai pas pris la peine avec les sauts de ligne. Pouvez-vous poster plus de votre code

Je pense que vous pouvez faire vos calculs facilement en utilisant la fonction intval () qui retourne la valeur entière d'une variable. Passez par la description de la fonction si vous avez un manuel php.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top