2010-12-09 7 views

Répondre

76

La valeur DECIMAL beacuse decimal est enregistrée avec précision. Par exemple. DECIMAL (10, 2) conviendra parfaitement pour des prix pas plus élevés que 99999999,99. MySQL Docs reference

+2

Bien que décimal soit plus approprié, le nombre entier fonctionnera mieux. Il suffit de multiplier le montant par 100 et de stocker la valeur en cents. – twicejr

+1

qu'en est-il plus grand que votre numéro? – hakiko

+0

J'utilise DECIMAL (10, 2): 123,33.00 et le format number_format ($ price, 0, '.', ',') Affiche maintenant 123,33 sur l'édition du formulaire et sauvegarde les données en second lieu seulement 123. –

5

Vous devriez certainement utiliser un type décimal pour de l'argent. Jamais point flottant, contrairement aux autres réponses. Et l'utilisation de varchar vous empêche de faire des calculs.

10

DECIMAL est le meilleur choix. Vous devrez spécifier une précision et une échelle pour la colonne. Précision spécifie le nombre total de chiffres que le nombre contiendra et l'échelle signifie combien de ceux-ci doivent être utilisés dans l'exposant.

+0

Merci beaucoup! –

11

Type de champ "Décimal" fonctionnera mieux. Comme:

`product_price` decimal(8, 2) NOT NULL, 

Il stockera un prix jusqu'à 999999.99

Si vous avez des prix élevés, vous pouvez utiliser

`product_price` decimal(12, 2) NOT NULL, 

à savoir jusqu'à 9999999999.99

Questions connexes