Converting an amount to a 4 byte array
Converting an amount to a 4 byte array
(OP)
I haven't ever had to deal with this before. I need to convert a sale amount (48.58) to a 4 byte array and use network byte order. The code below is how I am doing it, but it is wrong and I am not understanding why. Can anyone help?
float saleamount = 48.58F;
byte[] data2 = BitConverter.GetBytes(saleamount).Reverse().ToArray();
What I am getting is 66 66 81 236 in the array. I am not certain what it should be though. I am interfacing with a credit card terminal and need to send the amount in "4 bytes, fixed length, max value is 0xffffffff, use network byte order"
float saleamount = 48.58F;
byte[] data2 = BitConverter.GetBytes(saleamount).Reverse().ToArray();
What I am getting is 66 66 81 236 in the array. I am not certain what it should be though. I am interfacing with a credit card terminal and need to send the amount in "4 bytes, fixed length, max value is 0xffffffff, use network byte order"
RE: Converting an amount to a 4 byte array
Your requirement of "4 bytes, fixed length, max value is 0xffffffff, use network byte order" perhaps implies that the amount should be the byte array representation of a long (32-bit) integer; so perhaps your mount multiplied by 100, giving 4858, which would be represented by the bytes with hexadecimal values 00 00 12 fa (decimal values 0 0 18 250).
RE: Converting an amount to a 4 byte array