Udlæsning fra MSSQL med PHP

Tags:    php mssql

Hejsa, jeg skal udlæse noget data fra en MSSQl og gør det via.:

"mssql_query" i php

det hele virker faktisk, men det undrer mig at når jeg skal udlæse et decimalfelt fra SQLen så bliver det i php udlæst med en røvfuld decimaler...?

fx. denne:
I php (print_r) bliver det vist sådan her.:
[Cost Amount] => 5609.52000000000000000000

hvor den med alm. database viewer bliver vist som: 5609,52

hvorfor kommer der ekstra decimaler på, og kan jeg sætte noget i php.ini så den ikke gør det ? (jeg ved at jeg kan lave number_format) men det vil jeg helst undgå da jeg så skal gennemgå samtlige kolonner manuelt.

jeg har søgt nettet tyndt for at finde løsning, men uden held...

så håber at det lykkedes her.



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hvordan ser din SQL tabel ud?

Decimal (10,2) betyder at tallet kan have 10 cifre og 2 decimaler.

Hedder din kolonne noget lign. Decimal(X, 20) ?

En anden måde, for at fjerne decimalerne kan være noget lign (ifølge Google):

Fold kodeboks ind/udPHP kode 


Altså:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 02.04.2014 14:50 af Bruger #16372
Sådan her:

Fold kodeboks ind/udSQL kode 


Antaget, at du godt må ændre i SQL queryen, bare ikke i databasen :)



Indlæg senest redigeret d. 02.04.2014 15:20 af Bruger #16372
Der står decimal((38,20), not null)

så jeg kan se at det jo faktisk er PHP som giver det "korrekte" rå udtræk

hm... nogen vej til at få alle "decimal" typer til kun at være på 2 decimaler?

- jeg må IKKE ændre i SQL.



ja, den metode kender jeg :-)

men det kræver så desværre at jeg skal angive det manuelt for hver enkelt kolonne, og det var det jeg håbede på at undgå ;-)

men tak for hjælpen ;-)



t