Autor Zpráva
final
Profil
Zdravím,
ako dosiahnuť z čísla 0.45 číslo 1? (0.45=>5 sa zaokrúhľuje hore takže 0.5=>1)
Funkčné riešenie ma napadlo spraviť to iba takto:
round(round(0.45, 1))
Nedá sa to ale spraviť jednoduchšie?
yFang
Profil
final:
Funkce ceil zaokrouhluje nahoru.
Joker
Profil
yFang:
Řekl bych, že final nechce vždy zaokrouhlit nahoru, ale zaokrouhlovat nějakou podivnou metodou.

final:
A čísla 0.44 a 0.445 se zaokrouhlí jak?
SpatnaKlavesnice
Profil *
0,44 -> 0,4 -> 0
0,445 -> 0,45 -> 0,5 -> 1
tazatel
Profil *
final:
0.45=>5 sa zaokrúhľuje hore

Na Slovensku proběhla nějaká matematická revoluce?
juriad
Profil
SpatnaKlavesnice:
A k čemu je takové zaokrouhlení dobré? Kromě toho, že efektivně posunuje hranici z 0.5 na 0.444444...?
Je to pěkné jen jako hříčka.
Joker
Profil
SpatnaKlavesnice:
Tzn. pokud desetínná část je větší než 0,44…, zaokrouhlí se nahoru, jinak dolů?

To by šlo naprogramovat přesně tak, jak jsem to popsal:
function divneZaokrouhleni($cislo) {
  $ccast = floor($cislo);
  return (($cislo - $ccast) > 0.4444444444444444) ? $ccast + 1 : $ccast;
}

Ale jak píše juriad, je to spíš taková legrácka.

Po vyzkoušení toho kódu jsem zjistil, že přesnost uložení desetinných čísel je větší než jsem čekal, takže jsem v porovnání zvýšil počet čtyřek za desetinnou tečkou z 13 na 16.
final
Profil
SpatnaKlavesnice napísal správne tak ako to potrebujem :-)

tazatel:
Na Slovensku proběhla nějaká matematická revoluce?
na Slovensku nie :-) toto zaokrúhľovanie robím pre Českú republiku a môj nápad takto to zaokrúhľovať to nebol ;-) Každopádne ďakujem a ponechám to na mojom riešení v [#1]
Joker
Profil
final:
Každopádne ďakujem a ponechám to na mojom riešení v [#1]
To ale nedělá zaokrouhlování podle [#4] SpatnaKlavesnice.
final
Profil
Joker:
ide mi len o čísla s 2 desatinnými miestami

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0