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/