Meilleur auteur de réponses
deux chiffres après la virgule(Urgent)

Question
-
Salut;
j'ai un champ dans ma BD sql server de type decimal(6,2)
alors lorsque j'execute la requette suivante :
select avg(Moyenne_bac) as[Moyenne Générale] from Etudiante
le resultat s'affiche comme suit 13.678222
comment faire afin d'afficher deux chiffres après la virgule comme 13.67
Réponses
-
Bonjour,
J'ai installer MS SQL et créé une table :
Et ensuite deux select :
On constate que mon premier select est formaté et qu'il affiche bien les deux premières décimales et que le deuxième select affiche le résultat avec toutes les décimales.
Jacques
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci- Marqué comme réponse Khawla.Dev dimanche 3 mai 2015 22:20
Toutes les réponses
-
-
oui j'ai utilisé cette fonction mais il fait l'arrondissement moi je veux que le résultat ne change plus juste je veux qu' il affiche deux nombres après la virgule , ainsi arrondissement va afficher le resultats 13.680000.
- Modifié Khawla.Dev vendredi 1 mai 2015 23:08
-
Bonjour,
Vite fait...
Dim val AsDouble
Dim valFormat AsString val = 12.549 Dim posn AsInteger = 0 valFormat = val.ToString posn = valFormat.IndexOf(",") valFormat = valFormat.Substring(0, posn + 3)
Jacques
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci -
votre solution est me semble bien dès ma lecture du code .mais il est très compliqué pour un petit astuce que je vois qu'il doit etre résoulu seulement avec qq qui est simple car j'utilise une requette donc la solution doit etre imbriqué dans cette requette.
-
Bonjour,
Plus habitué Oracle... mais
Exemple trouvé :
SELECT TOP(5)CurrencyRateID, EndOfDayRate
,FORMAT(EndOfDayRate, 'N', 'en-us') AS 'Number Format'
,FORMAT(EndOfDayRate, 'G', 'en-us') AS 'General Format'
,FORMAT(EndOfDayRate, 'C', 'en-us') AS 'Currency Format'
FROM Sales.CurrencyRate
ORDER BY CurrencyRateID;Voici l'ensemble des résultats.
CurrencyRateID EndOfDayRate Numeric Format General Format Currency Format
-------------- ------------ -------------- -------------- ---------------
1 1.0002 1.00 1.0002 $1.00
2 1.55 1.55 1.5500 $1.55
3 1.9419 1.94 1.9419 $1.94
4 1.4683 1.47 1.4683 $1.47
5 8.2784 8.28 8.2784 $8.28Source : https://msdn.microsoft.com/fr-ca/library/hh213505.aspx
Jacques
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci- Modifié Paraglider vendredi 1 mai 2015 23:45
-
Bonjour,
À essayé... je n'ai pas MS SQL chez moi !
Use
Str()
Function. It takes three arguments(the number,
the number total characters to display, and the number of decimal
places to displaySelect Str(12345.6789, 12, 3)
displays: ' 12345.679' ( 3 spaces, 5 digits 12345, a decimal
point, and three decimal digits (679). - it rounds if it has to
truncate, (unless the integer part is too large for the total size, in
which case asterisks are displayed instead.)for a Total of 12 characters, with 3 to the right of decimal point.
Jacques
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci -
merci mais je travail avec SGBDR sql server .ainsi je vous informe que ma requette va affiché le avg(moyen_bac) de tous les étudiants sachant que chaque étudiant possède un champ nommé moyen_bac de type decimal(6,2)
le résultat s'affiche oui mais avec plus que 2 chiffres après la virgule;comment contrôler ma requette de faite qu'elle affiche 2 chiffres seulement après la virgule?? c'est ça ma question
-
-
bonjour,
avez-vous essayer ceci :
En vb.net :
Dim valeur As String = "13.4567880" TextBox1.Text = valeur.Substring(0, 5)
ou
Dim valeur As String = "13.4977880" TextBox1.Text = Format(Val(valeur), "00.00") Private Sub TextBox1_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = "." Then e.KeyChar = CChar(",") End If End Sub
ou
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim nombre As Double = 12.34567 TextBox1.Text = nombre.ToString("0.00") End Sub Private Sub TextBox1_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If e.KeyChar = "." Then e.KeyChar = CChar(",") End If End Sub
A vous de choisir
cordialement,
- Modifié zorro591 dimanche 3 mai 2015 09:06
-
Merci pour tous vos réponses;mais il me semble que vous n'avez pas encore compris mon problème.
alors moi je veux afficher le résultat dans un tableau en utilisant la requette suivante :
select min(Moyenne_bac) as [Moyenne Min] ,max(Moyenne_bac) as [Moyenne Max],avg(Moyenne_bac) as[Moyenne Générale] from Etudiante
alors il m'affiche comme suit:
moi je ne veux pas
-
-
merci Zorro pour votre réponse imediate je pense que vous voulez dire de faire comme suit
select min(Moyenne_bac) as [Moyenne Min] ,max(Moyenne_bac) as [Moyenne Max],avg((Moyenne_bac).Substring(0, 5)) as[Moyenne Générale] from Etudiante
il me dit que( Impossible d'appeler des méthodes sur decimal.) -
-
-
-
Bonjour,
On a bien compris la question. C'est juste que l'on est limité par les fonctions autorisées dans un select.
Il faudrait peut-être regarder du coté de la fonction "CAST()' et CONVERT()
https://msdn.microsoft.com/fr-CA/library/ms187928.aspx
Exemples :
DECLARE @myval decimal (5, 2);
SET @myval = 193.57;
SELECT CAST(CAST(@myval AS varbinary(20)) AS decimal(10,5));
-- Or, using CONVERT
SELECT CONVERT(decimal(10,5), CONVERT(varbinary(20), @myval));- - - - - - - - - - - - - - - - - - - - - - - -
select replace(convert(varchar,cast(floor(@s) as money),1),'.00',
'.'+right(cast(@s * 10000 +10000.5 as int),4))
Jacques
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci- Modifié Paraglider dimanche 3 mai 2015 12:48
-
-
Bonjour,
J'ai installer MS SQL et créé une table :
Et ensuite deux select :
On constate que mon premier select est formaté et qu'il affiche bien les deux premières décimales et que le deuxième select affiche le résultat avec toutes les décimales.
Jacques
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci- Marqué comme réponse Khawla.Dev dimanche 3 mai 2015 22:20
-