Enregistrement d'un nombre décimal en vb.net
Bonjour,
je vaudrais enregistrer dans une table Access un nombre décimal à saisir dans un contrôle TextBox (par exemple 2000,50),quel est le type de données que je dois choisir dans cette table (Numérique ou Monétaire) et à quel Format?
merci.
decimal, double champ table ms access
bonjour barchaoui
1/ premiere precaution ta valeur saisie doit etre convertie en decimal dans le vb.net
2/dans ms access tu dois choisir format numerique monetaire avec un nombre de decimales d'arrondis suivant tes besoins.
je veux dire que tu dois faire dans vb.net ceci:
Code:
1 2 3
|
ClientDS1.Client.Rows(0).Item(8) = Decimal.Parse(TextBox1.Text)
ClientTableAdapter1.Update(ClientDS1.Client) |
mettons que tu as des caculs de taxes normalement on ecrirait ceci:
Code:
1 2 3 4 5 6 7
|
Dim maTaxe As Decimal = 20.0
Dim monTotal As Decimal = 0.0
monTotal = ClientDS1.Client.Rows(0).Item(8)
monTotal = monTotal * maTaxe / 100.0
ClientDS1.Client.Rows(0).Item(8) = monTotal
ClientTableAdapter1.Update(ClientDS1.Client) |
Le format d'affichage est toujours geree par ms access (nombre de decimales, symbole monetaire puisque c'est un user settings machine).
La precision par contre est geree par vb.net ,par arrondis pour les calculs monetaires et financier à ma connaissance,ce qui correspond au besoin des utilisateurs.
Les calculs scientifiques sont par contre plus delicat et sont en general geres par des troncatures ...qui peuvent amener par exemple à des egalites ou des inegalites qui n'existent pas (infini positif ou negatif machine : instruction vb.net IsInfinity ,zero machine NotNan ).
De toute facon voici ce que je trouve en vb.net a comparer avec ms access
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
'VB.NET
'soit 28 digits en valeurs entieres
TextBox3.Text = Decimal.MaxValue '79228162514264337593543950335
'soit 29 digits (y compris les decimales c'est mon opinion perso)
TextBox3.Text = Decimal.MinValue '- 79228162514264337593543950335
'le plus grand/petit decimal je suppose en vb.net est:
' +-7,9228162514264337593543950335
'ET VOICI MS ACCESS 2003 (doc):
'------------------------------
'+/-79 228 162 514 264 337 593 543 950 335 pour les nombres sans décimales.
'La plage de valeurs des nombres à 28 décimales est
'+/-7,9228162514264337593543950335.
'Le plus petit nombre différent de zéro est 0,0000000000000000000000000001 |
Vois-tu ils sont identiques.
Bon code et bonne soiree....