【发布时间】:2012-07-26 21:55:27
【问题描述】:
我有一个由 CashRegister Machine 创建的 Hex 文件。我必须把这个文件读进去。
文件使用下面详述的格式。它就像套接字数据包。
代码数据:2 字节
PLU 代码数据:7 字节
单价数据:5 字节
数量数据:5 字节
总量数据:5 字节
PLU 名称数据:18 字节
税率数据:1 个字节
长度:24 + 19 字节
- PLU 码格式为 BCD
- 单价1-9999999999(BCD)
- 数量 1-9999999999(BCD 后三位数字应为十进制)
- 总金额1-9999999999(BCD)
我用二进制阅读器读入了 hex 文件,然后插入到 Unit Price 字节数组中。
byte[] bytes = { data[21], data[22], data[23], data[24], data[25] }; // BCD Byte Array
这个数组是单价。但是我怎样才能将这个数字转换为十进制。并且信息说对于数量:BCD最后一个数字应该是十进制 - 这是什么意思?谢谢。
【问题讨论】:
-
非常不清楚的问题,请澄清/详细说明。
-
显示
byte[] bytes内容的示例以及您期望的输出。看看BinaryReader.ReadDecimal()。 -
我试图详细说明它。 bytes 有一个数字,但我如何读取为 int。
-
能否在以“Code Data : 2 Byte”开头的行中加一些逗号,以便清楚地分隔各项?