uitkomst van string met deelteken naar nummeriek

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rene Wennekes

Rene Wennekes

16/08/2010 15:10:59
Quote Anchor link
Hallo, weet iemand de beste functie om bv. een string "12/4" moet dan nummeriek worden 3.

Heb al met floatval() geprobeerd maar die geeft gewoon 12 (de eerste cijferreeks tot de eerste vreemde eend in de bijt die hij tegenkomt).

Is voor het aantal seconden uit te rekening uit exif informatie.

$sec=floatval($exif["GPS"]["GPSLatitude"][2]);
 
PHP hulp

PHP hulp

20/01/2021 04:24:29
 
Bas Kreleger
Beheerder

Bas Kreleger

16/08/2010 15:13:48
Quote Anchor link
Als je 12 gedeeld door 4 wilt doen, dan kun je toch gewoon doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$uitkomst
= 12 / 4; // ?
?>
 

16/08/2010 15:15:08
Quote Anchor link
Het is geen string, maar ints
 
Rene Wennekes

Rene Wennekes

16/08/2010 15:15:52
Quote Anchor link
Je hebt niet goed gelezen.
De variabele bestaat al en is een STRING. Dit moet nummeriek worden.

Liefst nog met cijfers achter de komma bv. functie("10/3") moet dan 3.333333 worden.

Toevoeging op 16/08/2010 15:17:12:

Karl Karl op 16/08/2010 15:15:08:
Het is geen string, maar ints


Ook int pakt maar de 12.

Ik ben bang dat ik moet gaan 'exploden' maar hoop op een betere oplossing.
 

16/08/2010 15:18:15
Quote Anchor link
Hoe kom je überhaupt aan die data?
 
Rene Wennekes

Rene Wennekes

16/08/2010 15:22:07
Quote Anchor link
Karl Karl op 16/08/2010 15:18:15:
Hoe kom je überhaupt aan die data?


Goeie vraag -> zie 1e bericht.

$sec=floatval($exif["GPS"]["GPSLatitude"][2]);

Geeft bv. "4272000/878"

en helaas echo'd deze ook met deelteken.
Ik wil gewoon daadwerkelijk de bereking met bv. 4 cijfers achter de komma (punt)
 
Pim -

Pim -

16/08/2010 15:29:02
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$parts
= explode('/', $exif["GPS"]["GPSLatitude"][2]);

$res = $parts[0] / $parts[1];
?>
 
- SanThe -

- SanThe -

16/08/2010 15:29:29
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$var
= '4272000/878';
$arr = explode('/', $var);
echo $arr[0] / $arr[1];
?>
 
Bas Kreleger
Beheerder

Bas Kreleger

16/08/2010 15:32:33
Quote Anchor link
Kun je niet iets doen zoals:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$integer
= (int) $sec;
?>


Om vervolgens de functie round te gebruiken om 4 integers over te houden.
 
Rene Wennekes

Rene Wennekes

16/08/2010 15:47:50
Quote Anchor link
integer wordt niet herkent als functie.

intval wel, maar dangeeft die dus alleen maar het resultaat 12.

Ik zoek dus een functie die de operator (in dit geval / ) ook meeneemt.

In het ergste geval moet ik ze gaan splitten en daarna nog eens delen.
Maar ik dacht misschien bestaat hiervoor een functie.
Net ook al (s)printf geprobeerd, maar die werkt ook niet.

Toevoeging op 16/08/2010 15:49:41:

Pim de Haan op 16/08/2010 15:29:02:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$parts
= explode('/', $exif["GPS"]["GPSLatitude"][2]);

$res = $parts[0] / $parts[1];
?>


Ik ben bang dat het ook deze oplossing wordt (idem als SanThe).
Jammer .... misschien iets voor de volgende php verise??????

Alsnog bedankt Pim/SanThe.
Gewijzigd op 16/08/2010 15:55:04 door Rene Wennekes
 
Niels K

Niels K

16/08/2010 17:09:26
Quote Anchor link
Tja, voor een nieuwe functie in een volgende PHP versie moet je niet bij phphulp wezen. Je zult wel ergens een request in kunnen dienen denk ik..
Gewijzigd op 16/08/2010 17:09:39 door Niels K
 

16/08/2010 17:35:31
Quote Anchor link
Niels Kieviet op 16/08/2010 17:09:26:
Tja, voor een nieuwe functie in een volgende PHP versie moet je niet bij phphulp wezen. Je zult wel ergens een request in kunnen dienen denk ik..


Waarschijnlijk wordt er gebruik gemaakt van gd / imagemagick o.i.d. daar zal dan de request ingediend moeten worden.
 
SilverWolf NL

SilverWolf NL

16/08/2010 17:46:14
Quote Anchor link
Het kan ook zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
uitkomst=eval("return ".$sec.";");
?>


Als ik me niet vergis. Je moet er wel zeker van zijn dat de data uit een foto komt en niet uit iets anders, want dan zou je website wel eens om zeep geholpen kunnen worden...

Succes nog!
 

16/08/2010 18:43:47
Quote Anchor link
SilverWolf NL op 16/08/2010 17:46:14:
Het kan ook zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
uitkomst=eval("return ".$sec.";");
?>


Als ik me niet vergis. Je moet er wel zeker van zijn dat de data uit een foto komt en niet uit iets anders, want dan zou je website wel eens om zeep geholpen kunnen worden...

Succes nog!

Ja, daarom moet je het dus ook lekker niet doen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.