Bonjour, j'essai de faire une fonction HT/TTC en C#. Voici les codes
PS: Je ne voit pas de balise [code] [/code], donc désoler par la colorisation des codesCode : C#//Main.cs
usingSystem;
publicstaticvoid Main(string[] args)
{
string Saisie = "";
int Saisie_INT;
decimal Saisie_DECIMAL;
Saisie = Console.ReadLine(); //Recupere la saisie de l'utilisateur
TypeTemps = Outil.IntOrDecimal(Saisie); //Type variable
if(TypeTemps == "int")
{
Saisie_INT = int.Parse(Saisie);
Saisie_DECIMAL = 0;
Console.WriteLine( Outil.HT_TTC(Saisie_INT, 19.6));
}
elseif(TypeTemps == "decimal")
{
Saisie_INT = 0;
Saisie_DECIMAL = decimal.Parse(Saisie);
Console.WriteLine( Outil.HT_TTC(Saisie_DECIMAL, 19.6));
}
Outil.Pause();
}
Code : C#//Outil.class.cs
class Outil
{
publicstaticvoid Pause()
{
System.Console.Write("\n\nAppuyer sur \"Entrée\" pour quitter le programme");
System.Console.ReadLine();
}
publicstaticdecimal HT_TTC(int PrixHT, double TVA)
{
decimal PrixTTC = 0;
PrixTTC = PrixHT * TVA / 100;
return PrixTTC;
}
publicstaticdecimal HT_TTC(decimal PrixHT, double TVA)
{
decimal PrixTTC = PrixHT * TVA / 100;
return PrixTTC;
}
publicstaticstring IntOrDecimal(string Chaine)
{
string Resultat = "aucun";
int INT;
decimal DECIMAL;
//Remplace le . par ,
Chaine = Chaine.Replace('.', ',');
if(int.TryParse(Chaine, outINT))
{
Resultat = "int";
}
elseif(decimal.TryParse(Chaine, outDECIMAL))
{
Resultat = "decimal";
}
return Resultat;
}
}
Erreurs :
Cannot implicitly convert type 'double' to 'decimal'. An explicit conversion exists (are you missing a cast?) (CS0266) - C:\Documents and Settings\Admin\Mes documents\SharpDevelop Projects\Compta Test\Outil.class.cs:13,13
Operator '*' cannot be applied to operands of type 'decimal' and 'double' (CS0019) - C:\Documents and Settings\Admin\Mes documents\SharpDevelop Projects\Compta Test\Outil.class.cs:19,21
En fait, pour convertir la saisie, je test si c'est un nombre a virgule
ou pas. Ensuite j'essai de le multiplier, c'est pour sa que j'ai
surcharger la fonction car la saisie peut etre int ou decimal mais j'ai
toujours une erreur. Voila j'espere que vous pouvez m'aider (j'ai virer
ce qui etez inutile pour rendre le code plus clair).
Merci a tous d'avance.