mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Finanse i Księgowość Zaokrąglanie https://forum.mix-soft.pl/viewtopic.php?f=15&t=685 |
Strona 1 z 1 |
Autor: | tomas [ 2009-03-17, 09:43 ] |
Tytuł: | Finanse i Księgowość Zaokrąglanie |
Finanse i Księgowość premium. Nie znalazłem w ambasic funkcji do zaokraglania. W Handlu jest Round(float co_zaokrąglić, int z_jaką_dokładnością) a w FK? |
Autor: | wrob [ 2009-03-17, 12:11 ] |
Tytuł: | |
zawsze mozna troche pokombiniwac i np float x int y y=(x+0.5) |
Autor: | rafal [ 2009-03-17, 12:23 ] |
Tytuł: | |
Kod: float sub mojRound( float fDoZaokraglenia, int iDokladnosc ) string sCiag = "%" + using ".%df", iDokladnosc mojRound = Val(using sCiag, fDoZaokraglenia) endsub |
Autor: | Jarek75 [ 2009-05-18, 12:33 ] |
Tytuł: | |
wrob pisze: zawsze mozna troche pokombiniwac i np float x int y y=(x+0.5) Kiedyś się na tym przejechałem i stosuję x+0.500001 i oczywiście long zamiast int. Przykład: Kod: float x int y x=(0.15 - 0.005) * 100 // to jest liczba 14.5 print (using "%.0f", x); lf y=(x+0.5) print y; lf y=(x+0.500001) print y; lf Wynik (FKP 2009.1): Kod: 14 14 15 W ogóle chyba nie będę używać takich sztuczek, bo long ma i tak ograniczenie do 9 cyfr. Zastosuję chyba od dziś taki wariant: Kod: //---------------------------------------------------- float sub ZaokrFloatBS (float a, int n) //---------------------------------------------------- sFmt = (using "%%.%df", n) s = (using sFmt, a + 0.000001) ZaokrFloatBS = Val(s) endsub Liczba zer ma tu znaczenie. Im więcej zer, tym szybciej funkcja padnie na dużych liczbach, rzędu setek milionów. Wniosek jest jeden: przydałoby się firmowe zaokrąglenie. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |