Ahoj,
tady jde o vypocet koncove ceny s DPH z nakupni ceny. To co jste napsal se tyka toho, jak sectete ceny na konci paragonu co Vam leze z pokladny.

Doslova:
17) Ceny budou zaokrouhlovány do 50 hal směrem dolů a od 50 hal nahoru?
Novela zákona č. 634/1992 Sb., o ochraně spotřebitele, stanoví zaokrouhlení cen před placením v hotovosti na nejbližší platnou nominální hodnotu zákonných peněz v oběhu. Po ukončení platnosti mincí po 10 h a 20 h bude nejnižší platnou nominální hodnotou padesátihaléř. Ceny placené v hotovosti tedy budou zaokrouhlovány s přesností na padesátihaléře. V praxi to bude znamenat, že částky 0 až 24 haléře a 50 až 74 haléře budou t zaokrouhleny dolů, tj. na nulu nebo padesát haléřů, částky na 25 až 49 haléřů a 75 až 99 haléřů nahoru, tj. na padesát haléřů nebo celou korunu. Informace k zaokrouhlování pro plátce DPH jsou k dispozici v aktualitách na webu
České daňové správy

Akorat ze mi to ted zmenili a musim to delat na desetihalere. Takze pujdu procist nekam jak jsme to zaokrouhlovali znovu :(

myslel jsem ze toto bude fungovat:
double result = Math.rint(((value + 0.05)) * 10) /10;

tedy za zaokrouhli na desetniky nahoru, ale bohuzel z toho lezou tato cisla:

0.15: 0.2
0.4: 0.4
0.5: 0.6
0.6: 0.6
0.7: 0.8
0.8: 0.8
0.9: 1.0
1: 1.0
1.1: 1.2
1.2: 1.2
51.2: 52.0
52.9: 53.0
53: 54.0

Btw. nevite kde bych prosim ted nasel archiv s moznosti vyhledavani?

Pet

On Mon, 16 Apr 2007 11:52:29 +0200, Martin Kuba <[EMAIL PROTECTED]> wrote:

Hm, a proč se to má zaokrouhlovat na padesátníky nahoru,
když předepsaný postup je

... "se celková částka zaokrouhluje vždy k nejbližší platné nominální hodnotě
zákonných peněz v oběhu." aspoň podle
http://www.abra.cz/html/produkty/legislativa/zaokrouhlovani.html?reload_coolmenus
http://www.cnb.cz/www.cnb.cz/cz/faq/faq_10_20.html#17

To zavání odíráním kupujících v průměru o pětadvacetihalíře.

Makub

Petr Burdik wrote:
Diky


On Mon, 16 Apr 2007 11:36:59 +0200, lukas <[EMAIL PROTECTED]> wrote:

Ted jsem cetl, ze to chcete porad nahoru, tak potom pouzijte
BigDecimal.ROUND_UP pripadne BigDecimal.ROUND_CEILING (jine chovani pro
zaporna cisla).



On Mon, 16 Apr 2007 11:33:23 +0200, lukas wrote
a) nemejte menu ulozenou jako double, nejlepe jako BigDecimal
b) s tim pak provest nasledujici:

  a = a.multiply(new
BigDecimal(2)).setScale(0,BigDecimal.ROUND_HALF_EVEN).divide(new
BigDecimal(2));

   Lukas

On Mon, 16 Apr 2007 11:06:38 +0200, Jan Medek wrote
> a = ( (a % 0.5) != 0 ) ? (Math.floor(a) + 0.5) : (a);
>
> Ale nic moc. :-)
>
> Petr Burdik napsal(a):
> > Ahojte,
> > lamu se ted s funci zaokrouhlovani na 50ti halere nahoru.
Neresili jste
> > to prosim nekdo? Vim ze to hranici s cucanim, ale nejak se mi nedari
> > najit pekny algoritmus.
> >
> > Pekny den
> > Pet
> >
> > --Using Opera's revolutionary e-mail client:
http://www.opera.com/mail/
> >
> >
> >









--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Odpovedet emailem