Avatar billede dcheng Novice
11. april 2005 - 13:13 Der er 7 kommentarer og
1 løsning

Afrunde til nærmeste .0.25?

Er der nogle som har en funktion som kan afrunde til nærmeste 0.25 og/eller en anden funktion som kan runde op til næste 0.25
Avatar billede Slettet bruger
11. april 2005 - 13:46 #1
Afrund til nærmeste .25:

<?php
function round25($number) {
    $number = number_format($number, 3, ".", "");
  list($int, $dec) = explode(".", strval($number));
  if ($dec < 125) {
      $newnumber = $int;
  } elseif ($dec < 375) {
      $newnumber = $int.".25";
  } elseif ($dec < 625) {
      $newnumber = $int.".5";
  } elseif ($dec < 875) {
      $newnumber = $int.".75";
  } else {
      $newnumber = $int + 1;
  }
  return number_format($newnumber, 2, ".", "");
}
echo round25(25.8)."<br>\n";
echo round25("0,1")."<br>\n";
echo round25(100.13)."<br>\n";
?>


Håber du kan bruge det :)

Skal jeg også lave en som afrunder til NÆSTE .25?
Avatar billede mikkelk Nybegynder
11. april 2005 - 13:46 #2
Jeg er ikke lige inde i PHP, men noget a'la:
nTal = 10,32
round(nTal*4)/4
- ideen er afrund talet ganget med fire til et helt tal og divider derefter med 4 igen :-)
Avatar billede mikkelk Nybegynder
11. april 2005 - 13:48 #3
Vil mene at min er lidt enklere :-) Men da jeg ikke kender så meget til syntaksen i php ved jeg ikke lige hvordan det skal skrives i dette - så hvis en anden kan hjælpe her.
Avatar billede mikkelk Nybegynder
11. april 2005 - 13:49 #4
ah. Har den her tror jeg.
$tal = 10.43
$afrundet = round( $tal * 4 ) / 4
Avatar billede mikkelk Nybegynder
11. april 2005 - 13:50 #5
og det var et svar.
Avatar billede Slettet bruger
11. april 2005 - 13:51 #6
Yep:


<?php
$nTal = 10.32;
echo round($nTal*4)/4;
?>


Er jo nok noget simplere, hvis det altid er et fast interval der skal rundes op imellem... Koden jeg postede var fra noget jeg brugte en anden gang hvor intervallerne var uregelmæssige.. :-)
Avatar billede mikkelk Nybegynder
12. april 2005 - 18:02 #7
Ku' du bruge det???
Avatar billede dcheng Novice
27. april 2005 - 12:12 #8
sorry !! glemte at trykke send da jeg skrev... men ja det virker Takker!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester