Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MSSQL]Odejmowanie danych z tabeli
Forum PHP.pl > Forum > Przedszkole
dosko
W tabeli mam zaczytane 2 liczby - w takim formacie:
x - 2 000 000,00
y - 500 000,00

jak wpisze

$roznica =$x - $y
echo "$roznica"

wyświetla -498 a nie 1 500 000,00

dene mam wprowadzone jako float - co moze byc nie tak
slawny
na logikę, to spacje ci wszystko chrzanią....
Kamils2
pozatym czy dane liczbowe w bazie to nie byl integer?
vokiel
W PHP separator dziesiętny to . (kropka) a nie przecinek.

Poza tym usuń spacje, bo z nimi to nie jest liczba. Typem pożądanym tutaj jest float.
  1. <?php
  2. function toFloat($val){
  3.    $from = array(' ',','); //usuniecie spacji
  4.    $to = array('','.'); // zamiana przecinka na kropke
  5.    $val= str_replace($from,$to,$val); // wykonanie powyższych  
  6.    return floatval($val); // konwersja typu (dla pewności)
  7. }
  8. $x = '2 000 000,00';
  9. $y = '500 000,00';
  10.  
  11. $x = toFloat($x);
  12. $y = toFloat($y);
  13. $roznica =$x - $y
  14. echo "$roznica"
  15. ?>
dosko
a żeby wyswietlił mi
echo "$roznica"
czyli 1500000 w takim formacie jak reszta tj 1 500 000 - da rade questionmark.gif
vokiel
Jasne, manual -> number_format (pierwszy przykład)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.