Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Create a C# function that replicates an oracle function

Status
Not open for further replies.

Olavxxx

Programmer
Sep 21, 2004
1,134
0
0
NO
Hi, I need to recreate this function (oracle) in C#:
Code:
FUNCTION dec2hex (N in number) RETURN varchar2 IS
  hexval varchar2(64);
  N2     number := N;
  digit  number;
  hexdigit  char;
BEGIN
  while ( N2 > 0 ) loop
     digit := mod(N2, 36);
     if digit > 9 then 
       hexdigit := chr(ascii('A') + digit - 10);
     else
       hexdigit := to_char(digit);
     end if;
     hexval := hexdigit || hexval;
     N2 := trunc( N2 / 36 );
  end loop;
  return hexval;
END dec2hex;

My faulty code:
Code:
        public string makeBarCode(string strInput)
        {
            string strHexValue = "";
            int digit = new int();
            char hexdigit = new char();
            int n2 = new int();
                    
            foreach (char str in strInput)
            {
                n2 += str;
                while (n2 > 0) {
                    digit += (str % 36);
                    if (digit > 9)
                    {
                        hexdigit += Convert.ToChar(65 + digit - 10); //65 equals A
                    }
                    else
                    {
                        hexdigit += Convert.ToChar(digit);
                    }
                    strHexValue += hexdigit.ToString();
                    n2 += (int)decimal.Truncate(n2 / 36);
                }
            }

            return strHexValue;
        }

If the function is fed with: 5044857
It should return: 344MX
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top