On 01.02.10 17:12, "Michael Kagerbauer" <realbasicli...@kagerbauer.net>
wrote:

> Was wäre denn die klügste Variante im Falle einer
> Buchhaltungsapplikation? Sämtliche Werte in Cent umrechnen und auch so
> in der Datenbank einspeichern?

Ja.

> Bisher habe ich immer entsprechende Funktionen für die Rundung genutzt,
> die Zahlen wären dabei vorher mit 4 Nachkomma-Stellen gespeichert:
>
> 
> Function RoundMct(value As Double, decimals As Integer) As Double
>    Dim sign as Integer = Sign( value )
> 
>    value = Abs( value )
>    value = value * Pow( 10, decimals )
>    value = value + 0.5
> 
>    value = floor( value ) / Pow( 10, decimals )
> 
>    return sign * value
> 
> End Function

Geht so natürlich auch. Du hast allerdings immer das Problem der
'Unschärfe', die Du nicht selber kontrollieren kannst. Ich persönlich finde
es angenehmer (und schneller), mit Integern zu arbeiten. Je nachdem, welche
Genauigkeit Du benötigst, kannst Du einen 'Genauigkeitsfaktor' bestimmen,
zB. 1000 mit dem Du Deine Werte skalierst....

Allerdings bin ich auch kein Spezialist für Buchhaltungs-Software - die
haben da vielleicht (vermutlich) noch andere Ansätze.

a.






Antwort per Email an