MySQL stocker le Type de champ de montants Dollar

  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Nov 18, 2007
  • Messages: 429
  • Status: Offline

Message Août 15th, 2011, 11:51 am

Theres tellement sur ce thème que ses gotten un peu hors de main plutôt à utiliser décimal, DOUBLE, ou flotter pour de l'argent. Voici mes pensées et une petite question que connut des Ive.

1. DOUBLE et FLOAT sont pratiquement la même chose : les ont une fin non précisée point et ne sont pas spécifique. Ils peuvent servir pour de l'argent lorsqu'ils traitent des montants estimatifs. Ils peuvent stocker des montants négatifs.
2. Décimale - point de terminaison spécifique pour donner le montant exact. La quantité stockée est la quantité extraite. Peut pas stocker des nombres négatifs.

Ceux qui sont simplement une définition rapide de qu'i go. Mon problème est avec des nombres négatifs. Je veux / utiliser décimal cause dont j'ai besoin de la précision, mais comment stocker des montants négatifs. Je peux insérer un enregistrement de PHPmyAdmin avec un montant négatif dans un champ décimal, mais il semble qu'un Im script à l'aide ne sera pas. Dois-je vraiment ajouter une colonne supplémentaire qui contient un enum (0,1) pour définir si le montant est négatif ou positif ou quelle est la meilleure façon de stocker l'argent ?

Merci pour les conseils.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Août 15th, 2011, 11:51 am

  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6130
  • Loc: Seattle, WA
  • Status: Offline

Message Août 15th, 2011, 1:11 pm

Utilisez entier. Stocker toutes les valeurs monétaires par leur plus petit dénominateur, c'est-à-dire les cents. Ne dérange avec virgule flottante numéros quand theres déjà une unité indivisible disponible.
The Beer Monocle. Classy.
  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Nov 18, 2007
  • Messages: 429
  • Status: Offline

Message Août 16th, 2011, 6:14 am

OK, sonne comme ce que vous dites est tomber la décimale ? Donc, stocker des 7459.89 comme un champ INT signé, mais insérez 745989 ? Vous pouvez élaborer certains ?

Merci. Im imaginant stockant l'entier plein puis en divisant par 100 dans mon script.
  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Nov 18, 2007
  • Messages: 429
  • Status: Offline

Message Août 16th, 2011, 6:16 am

BTW, décimal peut stocker des nombres négatifs. La description sur le site MySQLs est un peu mis-leading. Je pense que son parler davantage sur la façon dont le signe est géré au niveau du BIT et qu'un littéral - signe n'est pas utilisé.
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6130
  • Loc: Seattle, WA
  • Status: Offline

Message Août 16th, 2011, 10:02 am

devilwood a écrit:
OK, sonne comme ce que vous dites est tomber la décimale ? Donc, stocker des 7459.89 comme un champ INT signé, mais insérez 745989 ? Vous pouvez élaborer certains ?

Merci. Im imaginant stockant l'entier plein puis en divisant par 100 dans mon script.

Yep, exactement. Abandonner la décimale et stocker la valeur comme cents plutôt que de dollars. Laissez à votre application de faire la mise en forme.
The Beer Monocle. Classy.
  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Nov 18, 2007
  • Messages: 429
  • Status: Offline

Message Août 23rd, 2011, 12:12 pm

J'aime cette idée. J'ai des fonctions qui de toute façon l'argent de format (format de l'argent, signe dollar, etc.) afin que cette fixation dans mes applications devrait être facile.

Cela devrait fonctionner parfaitement.

Merci pour votre suggestion.

Afficher de l'information

  • Total des messages de ce sujet: 6 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 148 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC