login  Naam:   Wachtwoord: 
Registreer je!
 Forum

sql, Afronden van getallen

Offline endymion - 08/10/2004 10:56
Avatar van endymionLid hallo
kan iemand mij vertellen hoe je getallen kan afronden?
de getallen worden via een access database in een ASP pagina getoond..
maar die getallen zijn heel lang..
als een getal 3.6589 is mag het gewoon 3.6 worden, dus hoeft er niet naar boven afgerond worden.
alvast bedankt

9 antwoorden

Gesponsorde links
Offline Christiaan - 08/10/2004 11:05 (laatste wijziging 08/10/2004 11:08)
Avatar van Christiaan Lid Dat kan niet; sql blijft afronden; het wordt dan zowiezo 3.7. Je moet dat doen met de functie ROUND.
In je voorbeeld:
(ROUND 3.6589, 1) wordt 3.7
(ROUND 3.6589) wordt 4.

Hoe je het precies moet toepassen weet ik helaas niet....

[edit]
Nog wat info over het toepassen
[/edit]
  1. <?php
  2. $getal = round(3.6589, 1);
  3. ?>


Misschien overbodig, maar de 1 staat voor het aantal decimalen.. 2 = 2 decimalen enz...)
Offline endymion - 08/10/2004 11:08
Avatar van endymion Lid is het niet een functie die je kan zetten in een regels als:

SELECT * FROM tabel where id=$id ... en dan hier die afrond code.
RONDAF(0,1) lol 

zal ff zoeken of ik iets kan vinden over Round
Offline endymion - 08/10/2004 11:09
Avatar van endymion Lid chris het is een ASP pagina...
maar ik dacht dat het afronden gewoon een stukje code was dat je in een sql code zette zoals ik hierboven zei
Offline Christiaan - 08/10/2004 11:12
Avatar van Christiaan Lid kwam ik ook net achter.... *sorry*, zal op zoek gaan....
Offline endymion - 08/10/2004 11:15
Avatar van endymion Lid cool thnx..
ik kan er zelf niks over vinden.. ja hele php scripts enzo.. maarja heb ik niks aan.
Offline twopeak - 08/10/2004 12:39 (laatste wijziging 08/10/2004 13:01)
Avatar van twopeak Gouden medaille

PHP ver gevorderde
als je iets over mysql zoekt, kan je eventjes kijken op de website van mysql... daar vind je informatie over de functies in mysql.

dit is pure mysql (ik weet niet of het in andere sql vormen ook bestaat, aangezien je niet specifieerde)


ROUND(X,D)
Returns the argument X, rounded to the nearest integer. With two arguments, returns X rounded to D decimals. If D is negative, the integer part of the number is zeroed out.

mysql> SELECT ROUND(-1.23);
-> -1
mysql> SELECT ROUND(-1.58);
-> -2
mysql> SELECT ROUND(1.58);
-> 2
mysql> SELECT ROUND(1.298, 1);
-> 1.3
mysql> SELECT ROUND(1.298, 0);
-> 1
mysql> SELECT ROUND(23.298, -1);
-> 20
Note that the behavior of ROUND() when the argument is halfway between two integers depends on the C library implementation. Different implementations round to the nearest even number, always up, always down, or always toward zero. If you need one kind of rounding, you should use a well-defined function such as TRUNCATE() or FLOOR() instead.

[edit] Christiaan, jamaar ik was nog aan het zoeken! ziehier het beter antwoord:

TRUNCATE(X,D)
Returns the number X, truncated to D decimals. If D is 0, the result will have no decimal point or fractional part. If D is negative, the integer part of the number is zeroed out.

mysql> SELECT TRUNCATE(1.223,1);
-> 1.2
mysql> SELECT TRUNCATE(1.999,1);
-> 1.9
mysql> SELECT TRUNCATE(1.999,0);
-> 1
mysql> SELECT TRUNCATE(-1.999,1);
-> -1.9
mysql> SELECT TRUNCATE(122,-2);
-> 100
Starting from MySQL 3.23.51, all numbers are rounded toward zero. Note that decimal numbers are normally not stored as exact numbers in computers, but as double-precision values, so you may be surprised by the following result:

mysql> SELECT TRUNCATE(10.28*100,0);
-> 1027
This happens because 10.28 is actually stored as something like 10.2799999999999999.
[/edit]
Offline Christiaan - 08/10/2004 12:52
Avatar van Christiaan Lid Dan zat ik er toch niet ver naast in mijn 1e topic 
Offline Thomas - 08/10/2004 12:59 (laatste wijziging 08/10/2004 13:07)
Avatar van Thomas Moderator http://msdn.mic...ctions.asp
kijk bij FormatNumber of Round.

En plaats voortaan je vraag in de goede categorie ajb...

Het is trouwens misschien een goede gewoonte om je gegevens in je database zo 'rauw' mogelijk te laten - als je besluit de gegevens op je scherm een ander uiterlijk te geven, dan kan dit meestal wel met een of andere functie (in je query- of scriptingtaal). Als je echter de gegevens in je database een bepaald uiterlijk geeft word dit lastiger.
Offline twopeak - 08/10/2004 13:01
Avatar van twopeak Gouden medaille

PHP ver gevorderde
edited post! het kan wel in sql
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.204s