Du musst es über den Funktionsaufruf machen...

Function runden_schweiz(myFloatValue as double) As double
dim d as Double
d = myFloatValue*20
msgbox str(d) // zeigt 37779,77 an anstatt 3780,00
return floor(d)/20

Dann:

dim d as double
d=runden_schweiz(189)


> 
> Am 02.07.2013 um 07:50 schrieb Stefan Sicurella <[email protected]>:
> 
>> Hi,
>> 
>> ich hab hier ein kleines Problem:
>> 
>> Rufe ich diese Funktion mit 189 auf bekomme ich als Ergebnis von d 37779,999 
>> anstatt 3780, was dann das Endergebnis verfälscht.
>> Kurz als Erklärung, in der Schweiz werden Rechnungsbeträge immer auf 5 
>> Rappen zugunsten des Kunden gerundet. Geht auch wenn ich es mit carbon 
>> compiliere, in Cocoa mit Xojo dann jetzt nicht mehr.
>> 
> 
> Wie kann ich das nachvollziehen?
> 
>  dim myfloatValue as Double = 37779.77
>  dim d as Double
>  d = myFloatValue*20
> 
>  dim x as Double = floor(d)/20
>  MsgBox str(x)
> 
> da kommt das richtige hier raus.
> 
> Gruß
> Christian
> 
> -- 
> MBS Xojo Developer Conference 2013
> 
> More details and registration here:
> http://www.monkeybreadsoftware.de/realbasic/events/
> 
> 
> 
> 
> 
> 
> 


Antwort per Email an