Toon posts:

MS Sql server 7 float probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik float om bedragen in mijn database op te slaan..

Nu is alleen steeds het probleem dat als je 1,50 intyped deze in de database wordt opgeslagen als 1,5999999994343 (ofzo iets).
Hierdoor komt het voor dat bij de voglende keer het bedrag uitlezen er ineen 1,51 staat i.p.v. 1,50

Hoe kan ik er voor zorgen dat in de database de float maar 2 getallen achter de comma opslaat? (een of andere manier krijg ik dit niet voorelkaar).

Kan nu ook even niet bij de help komen van MS SQL server 7 dus ik doe het maar via deze weg.

Edwin

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
En als je 1,5 ipv 1,50 invoert?

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Verwijderd

Topicstarter
Ja dan doet hij het nog...

hij gooit standaard een heleboel cijfers achter de komma..

dit moet dus in mijn geval zijn maar 2

Verwijderd

gebruik gewoon het money-datatype, dat is ervoor bedoeld...
overigens zal je van die "afrond"-fouten in de praktijk geen last hebben, dit komt door de manier waarop SQLserver z'n data opslaat.

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Money lijkt me het handigst eventueel kan je decimal gebruiken:

decimal[(p[, s])] and numeric[(p[, s])]
Fixed precision and scale numbers. When maximum precision is used, valid values are from - 10^38 -1 through 10^38 - 1. The SQL-92 synonyms for decimal are dec and dec(p, s).
p (precision)
Specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point. The precision must be a value from 1 through the maximum precision. The maximum precision is 28 unless the server is started with the /p parameter of sqlservr. If the /p parameter is specified, the maximum precision is 38; therefore, 0 < p <=38.
s (scale)
Specifies the maximum number of decimal digits that can be stored to the right of the decimal point. Scale must be a value from 0 through p. The default scale is 0; therefore, 0 <= s <= p. Maximum storage sizes vary, based on the precision.