SQL query klopt niet zodra er verschil zit in het aantal getallen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Kris Peeters

Kris Peeters

24/07/2013 16:04:53
Quote Anchor link
Je kan dit gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
echo removeDecimals(236.12)
.
'<br>'. removeDecimals(23)
.
'<br>'. removeDecimals(12.2359)
.
'<br>'. removeDecimals(15.47)
.
'<br>'. removeDecimals(157);

function
removeDecimals($number) {
  $small = 0.000001;
  if (abs($number - floor($number)) < $small) {
    return (int) $number;
  }

  return $number;
}

?>


Bij jou wordt dat dus iets als

... removeDecimals($row['score']) ...

EDIT:
of zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
function removeDecimals($number) {
  switch (getType($number)) {
    case
'integer': return (int) $number; break;
    default:
return $number; break;
  }
}

?>
Gewijzigd op 24/07/2013 16:13:10 door Kris Peeters
 
PHP hulp

PHP hulp

19/12/2024 17:34:24
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/07/2013 16:06:00
Quote Anchor link
Over die vraag had ik heen gelezen, bij de games waarbij je de score als geheel getal wilt tonen doe je dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT TRUNCATE(t.score, 0) AS score, .....
 
Kees van Norde

Kees van Norde

24/07/2013 16:29:41
Quote Anchor link
Is het ook niet op te lossen door de volgende manier:

De database laat je gewoon alles lekker met 2 decimalen eindigen dus altijd alles .XX

$score staat de score in als die wordt uitgelezen.

Kun je dan iets in deze geest maken:
IF $score EINDIGT op .00 schrap .00 ELSE laat .XX gewoon zien.

Dan zijn we er ook :)

Weet iemand dat?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/07/2013 16:51:03
Quote Anchor link
Tuurlijk kan dat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$score
= (float) $score; // typecasten voor de zekerheid
if ($score - floor($score) > 0) {
    $decimals = 2;
}

else {
    $decimals = 0
}
echo number_format($score, $decimals, ',', '.'); //staat het gelijk goed bij meerdere decimalen
?>

Dit dan even in een functie zetten
Gewijzigd op 24/07/2013 16:52:34 door Ger van Steenderen
 
Kees van Norde

Kees van Norde

25/07/2013 01:24:17
Quote Anchor link
Het is gelukt!

Bedankt allemaal voor het helpen, perfect zo!

Gr. Kees.
 

Pagina: « vorige 1 2



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.