Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-04-27, 16:01x



Odpowiedz w temacie  [ Posty: 5 ] 
Zaokrąglenia w AMBasic 
Autor Wiadomość

Rejestracja: 2007-12-13, 23:19
Posty: 367
Pomógł: 2
Post Zaokrąglenia w AMBasic
Jak w FK premium zaokrąglić liczbę 3,12343453 do 4 miejsc po przecinku?

round - nie działa
zaokrFloat - nie działa
ZaokrW1 - DZIAŁA, ale nie tędy droga


2008-03-28, 10:49
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post 
Kod:
float sub Zaokr(float InFloat, int iZaokr )
Zaokr = Val((using "%.*f",iZaokr,InFloat))
endsub

inFloat - liczba do zaokrąglenia
iZaokr - ilość miejsc po przecinku

użycie
Kod:
print Zaokr(3.12343453 ,4)

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2008-03-28, 11:00
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2009-03-07, 11:13
Posty: 597
Pomógł: 34
Post 
Ktoś chce skubnąć grosze i przelać na swoje konto? ;-)

Ten kod nie działa na FKP2009.1. Właśnie wywaliłem się na takim oto przykładzie:

Kod:
float n = 4459.75
float v = n*0.22
print n, v, (using "%.2f", v)


Wynik:
4459.750000 981.145000 981.14

Czyli nie ma uniwersalnego rounda w fk :-(


2009-04-29, 16:51
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2008-04-18, 18:52
Posty: 5169
Pomógł: 59
Post 
To nie do konca tak jest z tymi zaokragleniami - tzn wlasciwie to nei wiadomo jak ma być :-)

istnieja rozny typy zaokragleń (podaje 2 z okolo 10)

arytmetyczne: [0-4] w dół, [5-9] w górę: 1.4 = 1, 1.5 =1
do parzystej: liczba zaokrąglana zawsze do najbliższej parzystej: 1.5 = 2, 2.5 = 2

Zaokrąglania do parzystej ma sens przy operacjach finansowych. W przypadku gdy zawsze 0.5 zaokrąglamy w górę, a 0.4 w dół możemy mieć dużą rozbieżność w ostatecznych wynikach. Zaokrąglanie do parzystej (tzw banker’s rounding) niweluje ten błąd.

A teraz ciekawostki - PERVASIVE oraz MS SQL - funkcja ROUND() w zapytaniach - działa arytmetycznie, rowniez ROUND w arkuszu Excela dziala arytmetycznie, ale ten sam ROUND np w VBA w EXCELU działa metoda bankową, tak samo jest w wielu implementacjach c i c++.....


2009-04-29, 20:03
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2009-03-07, 11:13
Posty: 597
Pomógł: 34
Post 
wrob pisze:
Zaokrąglania do parzystej ma sens przy operacjach finansowych. W przypadku gdy zawsze 0.5 zaokrąglamy w górę, a 0.4 w dół możemy mieć dużą rozbieżność w ostatecznych wynikach. Zaokrąglanie do parzystej (tzw banker’s rounding) niweluje ten błąd.


Statystycznie to może jakoś działa, ale w konkretnych przypadkach i tak nic nie daje:
1.5 + 3.5 = 5.0
zaokrąglenie zwykłe:
2 + 4 <> 5
zaokrąglenie bankowe:
2 + 4 <> 5

W programie FK powinniśmy raczej dostać zaokrąglanie arytmetyczne.


2009-04-30, 09:08
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 5 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Załączniki Zaokrąglenia w VAT-7

w Programy Księgowe

mamba2011

6

3261

2013-06-25, 09:32

mamba2011 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. prcyzja zaokraglenia

w Programy Kadrowo Płacowe

Gia65

1

1616

2009-10-20, 11:33

blanka Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. zaokrąglenia do deklaracji VAT

w Programy Księgowe

Bahomet

0

4283

2016-02-19, 16:20

Bahomet Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Faktura VAT w walucie bledne zaokraglenia

w Programy Handlowe

jarwlo

6

3429

2010-02-18, 12:28

jarwlo Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 47 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant