0

我正在开发一个硬件接口项目,并使用 c sharp 在 .net 上构建它。在这个应用程序中,我正在从超级终端上的串行端口接收数据。数据正在像魅力一样接收。但问题是它正在给我一个无法读取的数据如下

来自超级终端的数据是

D1U1201250000000085865000000S004100417001130034200820202710033000404102000004100759000080000200031004740010500097002250

其含义完整形式如下

Report of Sample no# 85865
WBC = 4.1x103/µL
RBC = 4.17 x106/µL
HGB = 11.3 g/dL
HCT = 34.2 %
MCV = -82.0 fL
MCH = 27.1pg
MCHC = 33.0 g/dL
PLT = + 404 x103/µL

LYM % = 20.0%
MXD % = 4.1%
NEUT % = 75.9%
LYM# 0.8 x103/µL
MXD # 0.2 x103/µL
NEUT # 3.1 x103/µL
RDW = 47.4 fL
PWD = 10.5 fL
MPV = 9.7 fL
P-LCR 22.5 %

我想问如何将第一种形式的数据转换为 seconf 可读形式。谢谢任何帮助将不胜感激。

4

1 回答 1

0

看起来像固定大小的格式数字连接在一起。使用String.Substring切割成碎片,然后根据需要转换为 int 和缩放。

如下所示,假设位置 20“022030”的值需要转换为 22.030:

var fragment = result.substring(20, 6);
var intValue = int.Parse(fragment);
var outputValue = intValue *0.001; 
于 2012-05-02T20:23:26.907 回答