Accueil de Gladir.com Notes légales de Gladir.com Flux RSS des nouvelles du site Gladir.com - C# (C Sharp) - Gouvernement - Taxe de vente canadienne Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

Le Canada est sans doute l'un des pays ou les taxes de vente sur les produits et services sont les plus compliqués à appliquer. Et pour cause: Elle varie d'une province ou territoire à l'autre, elle est parfois composé ou séparé. Voici leur représentation en date du mois septembre de l'années 2006:

Province/Territoire Taxe 1 Taxe 2 Taux
Alberta TVH: 6% Aucune 6%
Colombie-Britanique TVH: 6% TVP: 7% 13%
Ile-du-Prince-Édouard TPS: 6% TVP: 10% 16.6%
Manitoba TPS: 6% TVP: 7% 13%
Nouveau-Brunswick TVH: 14% Aucune 14%
Nouvelle-Écosse TVH: 14% Aucune 14%
Nunavut TVH: 6% Aucune 6%
Ontario TPS: 6% TVP: 8% 14%
Québec TPS: 6% TVQ: 7.5% 13.95%
Saskatchewan TPS: 6% TVP: 7% 13%
Terre-Neuve/Labrador TVH: 14% Aucune 14%
Territoire du Nord Ouest TVH: 6% Aucune 6%
Territoire du Yukon TVH: 6% Aucune 6%

Tout d'abord, voici un premier exemple permettant d'afficher des données complètes sur les taxes en C# (C Sharp) :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace taxcanada
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.               char[] Compute={'C','C','C','C','S','C','S','S','S','S','C','S','S'}; 
  12.               string[] TaxName1={"TPS","TVH","TVH","TVH","TPS","TVH","TPS","TVH","TVH","TPS","TPS","TPS","TVH"}; 
  13.               double[] TaxRate1={6.0000,14.0000,14.0000,14.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000}; 
  14.               string[] TaxName2={"TVQ","","","","TVP","","TVP","","","TVP","TVP","TVP",""}; 
  15.               double[] TaxRate2={7.5000,0.0000,0.0000,0.0000,7.0000,0.0000,7.0000,0.0000,0.0000,8.0000,10.0000,7.0000,0.0000}; 
  16.               string[] RegionMID={"QC","NS","NB","NF","BC","AB","MB","NT","NU","ON","PE","SK","YT"}; 
  17.               string[] RegionName_EN={"Quebec","Nova Scotia","New Brunswick","Newfoundland","British Columbia","Alberta","Manitoba","Northwest Territories","Nunavut","Ontario","Prince Edward Island","Saskatchewan","Yukon Territory"}; 
  18.               string[] RegionName_FR={"Québec","Nouvelle-Écosse","Nouveau-Brunswick","Terre-Neuve/Labrador","Colombie-Britanique","Alberta","Manitoba","Territoire du Nord Ouest","Nunavut","Ontario","Ile-du-Prince-Édouard","Saskatchewan","Territoire du Yukon"}; 
  19.                
  20.               Console.WriteLine("Nom de la province/territoire MID Taxe 1 Taxe 2 Taux"); 
  21.               for(int I=0;I<Compute.Length;I++) { 
  22.                    Console.Write(Empattement(RegionName_FR[I],31)); 
  23.                    Console.Write(Empattement(RegionMID[I],5)); 
  24.                    Console.Write(TaxName1[I] + ":" + TaxRate1[I] + "%" + "\t"); 
  25.                    if(TaxName2[I]=="") { 
  26.                       Console.Write(Empattement("",10)); 
  27.                    } else { 
  28.                          Console.Write(Empattement(TaxName2[I] + ":" + TaxRate2[I],10)); 
  29.                            
  30.                     } 
  31.                    switch(Compute[I]) { 
  32.                         case 'S': //Séparé
  33.                             Console.Write((double)TaxRate1[I] + TaxRate2[I] + "%" + "\t"); 
  34.                              break; 
  35.                         case 'C': //Composé
  36.                             Console.Write((double)TaxRate1[I] + ((TaxRate2[I] * (100 + TaxRate1[I])) / 100) + "%" + "\t"); 
  37.                              break; 
  38.                    }
  39.                    Console.WriteLine(); 
  40.               } 
  41.          } 
  42.           
  43.        static string Empattement(string Chaine,int Espace) { 
  44.             for(int I=0,L=Espace-Chaine.Length;I<L;I++) Chaine+=" "; 
  45.             return Chaine; 
  46.        } 
  47.  
  48.  
  49.     }
  50. }

on obtiendra le résultat suivant :

Nom de la province/territoireMIDTaxe 1Taxe 2Taux
QuébecQCTPS:6%TVQ:7.5%13.95%
Nouvelle-ÉcosseNSTVH:14% 14%
Nouveau-BrunswickNBTVH:14% 14%
Terre-Neuve/LabradorNFTVH:14% 14%
Colombie-BritaniqueBCTPS:6%TVP:7%13%
AlbertaABTVH:6% 6%
ManitobaMBTPS:6%TVP:7%13%
Territoire du Nord OuestNTTVH:6% 6%
NunavutNUTVH:6% 6%
OntarioONTPS:6%TVP:8%14%
Ile-du-Prince-ÉdouardPETPS:6%TVP:10%16.6%
SaskatchewanSKTPS:6%TVP:7%13%
Territoire du YukonYTTVH:6% 6%

Ensuite, voici un deuxième exemple permet de calculer la taxe de vente d'un produit ou service en fonction des provinces ou territoires en C# (C Sharp) :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace taxexemple
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.               char[] Compute={'C','C','C','C','S','C','S','S','S','S','C','S','S'}; 
  12.               string[] TaxName1={"TPS","TVH","TVH","TVH","TPS","TVH","TPS","TVH","TVH","TPS","TPS","TPS","TVH"}; 
  13.               double[] TaxRate1={6.0000,14.0000,14.0000,14.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000,6.0000}; 
  14.               string[] TaxName2={"TVQ","","","","TVP","","TVP","","","TVP","TVP","TVP",""}; 
  15.               double[] TaxRate2={7.5000,0.0000,0.0000,0.0000,7.0000,0.0000,7.0000,0.0000,0.0000,8.0000,10.0000,7.0000,0.0000}; 
  16.               string[] RegionMID={"QC","NS","NB","NF","BC","AB","MB","NT","NU","ON","PE","SK","YT"}; 
  17.               string[] RegionName_EN={"Quebec","Nova Scotia","New Brunswick","Newfoundland","British Columbia","Alberta","Manitoba","Northwest Territories","Nunavut","Ontario","Prince Edward Island","Saskatchewan","Yukon Territory"}; 
  18.               string[] RegionName_FR={"Québec","Nouvelle-Écosse","Nouveau-Brunswick","Terre-Neuve/Labrador","Colombie-Britanique","Alberta","Manitoba","Territoire du Nord Ouest","Nunavut","Ontario","Ile-du-Prince-Édouard","Saskatchewan","Territoire du Yukon"};
  19.  
  20.               Console.WriteLine("Nom de la province/territoire Taxe 1 Taxe 2 Taux 1$\t15$\t44,95$\t100$"); 
  21.               for(int I=0;I<Compute.Length;I++) { 
  22.                     double Tax = 0; 
  23.                    Console.Write(Empattement(RegionName_FR[I],31)); 
  24.                    Console.Write(TaxName1[I] + ":" + TaxRate1[I] + "%" + "\t"); 
  25.                    if(TaxName2[I]=="") { 
  26.                       Console.Write(Empattement("",10)); 
  27.                    } else { 
  28.                          Console.Write(Empattement(TaxName2[I] + ":" + TaxRate2[I],10)); 
  29.                            
  30.                     } 
  31.                    switch(Compute[I]) { 
  32.                         case 'S': //Séparé
  33.                                   Tax = TaxRate1[I]+TaxRate2[I]; 
  34.                              break; 
  35.                         case 'C': //Composé
  36.                                   Tax = TaxRate1[I]+((TaxRate2[I]*(100+TaxRate1[I]))/100); 
  37.                              break; 
  38.                    }
  39.                    Console.Write((double)(Tax) + "%" + "\t");
  40.                    Console.Write((double)(1 * (1 + (Tax / 100))) + "$\t");
  41.                    Console.Write((double)(15 * (1 + (Tax / 100))) + "$\t");
  42.                    Console.Write((double)(44.95 * (1 + (Tax / 100))) + "$\t");
  43.                    Console.Write((double)(100 * (1 + (Tax / 100))) + "$\t"); 
  44.                    Console.WriteLine(); 
  45.               } 
  46.          } 
  47.           
  48.        static string Empattement(string Chaine,int Espace) { 
  49.             for(int I=0,L=Espace-Chaine.Length;I<L;I++) Chaine+=" "; 
  50.             return Chaine; 
  51.        } 
  52.  
  53.     }
  54. }

on obtiendra le résultat suivant :

Nom de la province/territoireTaxe 1Taxe 2Taux1$15$44,95$100$
QuébecTPS:6%TVQ:7.5%13.95%1.1395$17.0925$51.220525$113.95$
Nouvelle-ÉcosseTVH:14% 14%1.14$17.1$51.243$114$
Nouveau-BrunswickTVH:14% 14%1.14$17.1$51.243$114$
Terre-Neuve/LabradorTVH:14% 14%1.14$17.1$51.243$114$
Colombie-BritaniqueTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
AlbertaTVH:6% 6%1.06$15.9$47.647$106$
ManitobaTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
Territoire du Nord OuestTVH:6% 6%1.06$15.9$47.647$106$
NunavutTVH:6% 6%1.06$15.9$47.647$106$
OntarioTPS:6%TVP:8%14%1.14$17.1$51.243$114$
Ile-du-Prince-ÉdouardTPS:6%TVP:10%16.6%1.166$17.49$52.4117$116.6$
SaskatchewanTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
Territoire du YukonTVH:6% 6%1.06$15.9$47.647$106$


Dernière mise à jour: Vendredi, le 25 mai 2012