×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Create a C# function that replicates an oracle function

Create a C# function that replicates an oracle function

Create a C# function that replicates an oracle function

(OP)
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

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login


Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close