Permalänk
Medlem

Tal utan exponent i PHP?

<? $counthash = (25244803659 * 66); echo $counthash; ?>

Den lilla snutten ger ett resultat som ser ut såhär: 1.66615704149E+012

Jag vill att det istället ska bli utan exponent, dvs, 1666157041494

Hur skriver jag koden för att den ska "förstå" det? Vilket kommando?

Permalänk
Medlem

Om ditt tal överstiger din plattforms begränsningar för heltal så blir det en float istället. Jag har aldrig hamnat i din sits, så jag har ingen bra lösning, men om du beskriver problemen det här medför så kanske det finns en möjlighet att det går att komma fram till en annan approach.

Visa signatur

Brass knuckles and a 2x4

Permalänk
Medlem

printf typ.

Permalänk
Medlem

Givetvis är ju själva koden bakom mer avancerad än ovanstående, men resultatet i min beräkning blir till slut ett väldigt stort tal som jag använder som en checksumma. Den checksumman ingår sen i en webblänk, i en sorts inloggningssystem. Problemet blir i vissa fall när talet blir för stort och det blir med exponent istället.

Jag får väl göra om hela funktionen i stället och göra en checksumma på ett annat sätt.

Edit: Jag slängde på en MD5-checksumma istället så nu funkar det i vilket fall.

Permalänk
Hedersmedlem

En "fullösning" om du kör på *nix kan vara att köra beräkningen genom programmet bc.

"bc - An arbitrary precision calculator language" - arbitrary precision gör att den inte rundar av som t ex PHP gör vid utmatning av data.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

bc ska följa med php, så det är bara tuta och köra med de funktionerna.

http://se2.php.net/manual/en/ref.bc.php

Visa signatur

Citera mig om du vill att jag ska hitta tillbaka!

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Rauter
bc ska följa med php, så det är bara tuta och köra med de funktionerna.

http://se2.php.net/manual/en/ref.bc.php

Då blir det ju inte så mycket av en fullösning ändå .

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.