Click here to Skip to main content
15,912,457 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all,

I need to convert the public static byte [] to integer.
My code as follows.

public static byte[] ORIGINAL_DATA_BYTE=null;
...
...
ADVERTISEMENT_DATA_BYTE[10] ---> This will have a hex value "a6" which is equivalent to 166;
...
Byte numdata = ADVERTISEMENT_DATA_BYTE[10];
String result = new String();
result = String.format(%02X, numdata);
int noofdata = Integer.parseInt(result, 16);
if(noofdata == 166)
{
    but my code not comes in this block
}
....
....




Thanks in advance.
Posted

Taking a byte value, then transforming it to a string to parse it to an integer is insane.

You should realize that a byte value is basically a number, as is an integer value, and there is no need to convert anything, let alone using a string in the middle...

a6 is not equivalent to 166, a6 and 166 are two ways to represent THE SAME VALUE.

So you just should write
C#
int noofdata = (int)numdata;
// OR
int noofdata = (int)ADVERTISEMENT_DATA_BYTE[10];


But I think you should study toroughly what are datatypes (in .NET, and in development in general) and how to use them.
 
Share this answer
 
in C#:-

BitConverter.ToInt32(arrayByte, 0));
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900