Avatar billede erikbop Nybegynder
05. november 2005 - 19:50 Der er 11 kommentarer og
1 løsning

Konvertering af tal fra engelsk til dansk format

Jeg er i gang med at modificere en Biztalk-rapport, der sender prislister ud til kunder. Ind i mellem er der lavet lidt C#-kode for at få det rette output.

Jeg får priser (via en XML-fil) i formatet "1234.75" som jeg ønsker ændret til det danske format "1.234,75".

Udfordringen er således:
- Decimaltegnet skal ændres fra punktum til komma
- Der skal indsættes tusindtalsseparator



Her er et eksempel på kode, der benyttes i en anden Biztalk-rapport i dag. "1.234,75" ændres til "1234.75":

private string MarkUpPrice(string strPrice)
{
  try
  {
      decimal decPrice = System.Convert.ToDecimal(strPrice);
      strPrice = decPrice.ToString("F");
  }
  finally
  {
      strPrice = strPrice.Replace(".", "");
      strPrice = strPrice.Replace(",", ".");
  }

  return strPrice;
}
Avatar billede arne_v Ekspert
05. november 2005 - 19:55 #1
public static string UK2DK(string num)
        {
            return decimal.Parse(num, new CultureInfo("en-US", false)).ToString("0,0.00", new CultureInfo("da-DK", false));
        }
Avatar billede erikbop Nybegynder
05. november 2005 - 20:31 #2
error CS0246: The type or namespace name 'CultureInfo' could not be found (are you missing a using directive or an assembly reference?)
Avatar billede arne_v Ekspert
05. november 2005 - 20:33 #3
using System.Globalization;
Avatar billede erikbop Nybegynder
05. november 2005 - 21:12 #4
Sådan her?:

using System.Globalization;

public static string UK2DK(string num)
        {
            return decimal.Parse(num, new CultureInfo("en-US", false)).ToString("0,0.00", new CultureInfo("da-DK", false));
        }

Inline Script Error: Invalid token 'using' in class, struct, or interface member declaration
Avatar billede arne_v Ekspert
05. november 2005 - 21:14 #5
den using skal op til de andre using i toppen af programmet
Avatar billede erikbop Nybegynder
05. november 2005 - 21:43 #6
Oh... Jeg har ikke forklaret mig nok - beklager :-)
Koden skal bruges i en Scripting Functoid, som typisk er et lille stykke kode, der sættes ind mellem source data og destination data for i dette tilfælde at modificere et formatering af tal.
Mit eksempel fra spørgsmålet er al den kode, der findes...

Under References mit .NET-projekt står:
- Microsoft.Biztalk.DefaultPipelines
- Microsoft.Biztalk.GlobalPropertySchemas
- Microsoft.Biztalk.Pipeline.Components
- System
- System.XML

Skal jeg tilføje en Reference her og i givet fald hvilken?
Avatar billede arne_v Ekspert
05. november 2005 - 21:54 #7
så bare lav:

        public static string UK2DK(string num)
        {
            return decimal.Parse(num, new System.Globalization.CultureInfo("en-US", false)).ToString("0,0.00", new System.Globalization.CultureInfo("da-DK", false));
        }

:-)
Avatar billede erikbop Nybegynder
05. november 2005 - 22:10 #8
Hehe ja - I get the picture :-) Ku' godt lige ha' tænkt mig om.

Nu kan jeg få færdiggjort mine Biztalk-rapporter, og da konen kan gå i fødsel når som helst, er det skønt at ha' dem ude af verden!

Arne V - you're the man. Afventer et svar fra dig.
Avatar billede arne_v Ekspert
05. november 2005 - 22:14 #9
svar
Avatar billede arne_v Ekspert
05. november 2005 - 22:15 #10
og tillykke !
Avatar billede erikbop Nybegynder
05. november 2005 - 22:17 #11
TAK!
Avatar billede erikbop Nybegynder
23. november 2005 - 01:57 #12
Det blev en pige, så ingen kvajebajere i denne omgang :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester