Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zaokrąglanie sumy liczb do 100%
Ryder
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.01.2008

Ostrzeżenie: (0%)
-----


Witam


Jak zamienić wszystkie liczy ze zbioru na procenty, tak aby wartość zawsze równała się 100% a nie 99,99, 100,05%, itp.

Załóżmy mamy

Liczby 2,5,8 = 15

Zamieniamy na procenty
Dla liczby 2 mamy round(((2 * 100) / 15), 1) = 13,33 = 13,3
Dla liczby 5 mamy round(((5 * 100) / 15), 1) = 33,33 = 33,3
Dla liczby 2 mamy round(((8 * 100) / 15), 1) = 53,33 = 53,3


Łacznie daje 13,3 + 33,3 + 53,3 = 99,6

Jak zrobić, żeby wartości składowe dawały zawsze wartość po zsumowaniu 100,
czyli np: 13,4 + 33,4 + 53,2
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ewentualnie pozostałą wartość (100 - suma pozostałych) po równo rozdzielasz do wszystkich wyników by uniknąć sporego przekłamania rzędu 0,4%. Oczywiście to tworzy dokładnie ten sam problem (0,4 może nie dać się ładnie rozłożyć), wtedy już resztę z reszty możesz dopisać do ostatniego wyniku - nie powinna to już być zbyt duża wartość.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 02:26