![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
Hej,
sfrustrowany dzisiaj zachowaniem funkcji round() której zaokrąglanie half up i half down nie jest tym, za co się podaje, spłodziłem klasę, która robi to poprawnie. Zawiera interfejs oraz domyślną implementację zaokrąglacza, druga implementacja (oparta na bcmath) właśnie się tworzy (co do tego, macie jakiś pomysł na implementację metod roundHalfEven() i roundHalfOdd() w Pamil\Rounder\BcmathRounder w gałęzi bcmath-support?). Przykład użycia i kod na GitHubie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
wygląda fajnie, klasa czytelna i zrozumiała. Chociaż zastanawiam się, na ile jest to przydatne ? Problem zaokrągleń jest na tyle banalny, że można samemu napisać szybko prosty kodzik, który będzie działał tak jak trzeba, nie zaprzęgając do tego klas. Po za tym zaokrągleń używa się zazwyczaj rzadko, tak czy siak szacun za inicjatywę : ). co do bcmath nigdy nie potrzebowałem takiej precyzji ale z implementacją powinno być podobnie jak teraz. Wymagasz podania liczby oraz wskazania precyzji. Możesz też dorobić dla bcmath operacje arytmetyczne na 2 liczbach, z pewnością wzbogaciłoby to wartość klasy
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 06:50 |