2009-01-31 4 views

Répondre

5

Cela dépend de votre besoin d'exactitude. Si vous pouvez tolérer les erreurs typiques qui proviennent de la méthode IEEE de stocker des nombres à virgule flottante, utilisez un flottant, sinon, utilisez une décimale si vous avez besoin d'une représentation exacte (et cela vaut pour tous les nombres non entiers que vous utiliserez dans les calculs utilisant le pourcentage aussi).

0

Cela dépend de la précision de votre choix. Si vous avez besoin de 1 ou 2 chiffres, et vous savez que le ratio maximum va être sous maxint/1000, je pense à stocker le ratio multiplié par 100 dans un int. Si vous avez besoin de nombres exacts, vous pourriez même vouloir stocker le numérateur et le dénominateur en tant qu'ints distincts. Sinon, tenez vous à flotter ou doublez.

0

Je n'utilise jamais de flottants dans une base de données, c'est peut-être une vieille habitude que la technologie a abordée, je ne suis pas sûr à 100%.

Soit des nombres entiers, soit des nombres mis à l'échelle, soit des nombres décimaux. Il y a des moments où une erreur d'arrondi semble insignifiante, mais elle peut échouer sur certaines valeurs ou introduire des erreurs cumulatives.

2

Cela dépend de votre ratio, vraiment.

Pour les taux d'intérêt, par exemple, dans le secteur bancaire, nous utilisons toujours la décimale, avec une précision et une échelle déterminées par l'entreprise. Si un taux d'intérêt doit être calculé et que le résultat est au-delà de la précision de la colonne, il existe toujours une règle de gestion définissant la manière dont le résultat doit être arrondi ou tronqué pour être inséré dans la colonne.

Si votre rapport est, par exemple, le rapport entre le diamètre d'un objet et sa circonférence, j'utiliserais probablement un flotteur.

1

Dépend de votre application. Si vous utilisez déjà des flottants pour calculer tout ce qui a rapport avec ce ratio, il serait probablement logique de le stocker comme un flottant.

Mais sinon, les flotteurs sont en général un peu une odeur de base de données. Les administrateurs de base de données ne les aiment pas parce que les inexactitudes de montage signifient que les nombres à virgule flottante sont intrinsèquement incompatibles. Et cela tombe sous le coup de la "C" dans notre bien-aimé ACID.

Les nombres décimaux et les nombres réduits ont au moins un comportement prévisible.

Questions connexes