![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z zaokraglaniem PHP, przykladowa sytuacja wyglada tak
i teraz
Programowo wszystko zaokrągla dobrze... aczkolwiek ja potrzebuje aby wynik koncowy zmiennej $result2 dawal zawsze wartość $x kombinuje juz dluzszy czas ale jakos nie moge nic drgnac... prosze o pomoc Ten post edytował netvalue 20.08.2013, 11:55:34 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 50 Dołączył: 2.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- https://studiostawki.com - studio fotograficzne i filmowe - ul. Inflancka 11, Warszawa
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
ale w przypadku gdy mamy np.
$x = 58; $y = 4.1000; ceil odpada.. bo jesli wystepuja rzeczywiscie jakies liczby po przecinku to musza zostac |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 50 Dołączył: 2.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
to może nie zaokrąglaj $result ??
a tak dokładniej do czego to ma służyć? Ten post edytował StrefaPi 20.08.2013, 11:46:49 -------------------- https://studiostawki.com - studio fotograficzne i filmowe - ul. Inflancka 11, Warszawa
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 50 Dołączył: 2.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
zwiększ dokładność obliczeń w php.ini, a u mnie Twój kod działa prawidłowo, czyli przynajmniej tak jak mówisz daje mi w wyniku 100 [chociaż nie wiem do czego to ma służyć, bo tak to łatwiej byłoby] ;)
a tak poza tym zaokrąglenie round(19.2196, 2) daje 19.22 a nie 19.20 ;) wtedy 19,22 * 5,2030 = 100,00166 Ten post edytował StrefaPi 20.08.2013, 11:55:40 -------------------- https://studiostawki.com - studio fotograficzne i filmowe - ul. Inflancka 11, Warszawa
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak u gory pomylka nastapila z mojej strony...
ale np. wezmy przykad $x = 100; $y = 4.2030; i tu jest lipa ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 50 Dołączył: 2.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Kod $x = 100; $y = 4.2030; $result = $x / $y; $result2 = $result * $y; $result2 = round($result2, 2); a czy tak nie działa? bo mi liczy prawidłowo ;) http://www.php.net/manual/en/ini.core.php#ini.precision Ten post edytował StrefaPi 20.08.2013, 12:03:34 -------------------- https://studiostawki.com - studio fotograficzne i filmowe - ul. Inflancka 11, Warszawa
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Liczby zmiennoprzecinkowe działają na przybliżeniach i w trakcie operacji na nich niemal zawsze tracimy precyzję i dokładność obliczeń.
1. Lektura obowiązkowa: http://www.cygnus-software.com/papers/comp...aringfloats.htm 2. Lektura nieobowiązkowa: http://docs.oracle.com/cd/E19957-01/806-35...g_goldberg.html 3. Rozwiązanie problemu: https://www.google.com/search?q=php+arbitra...me&ie=UTF-8 --> http://php.net/manual/en/book.bc.php |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak u mnie byla skopana konfiuracja dzieki !
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:19 |