通达信day文件 成交额字段

时间:2022-05-05 12:20:02
20150817 SZ000001 day文件详情 其中开盘价收盘价相关都是正确的 唯独成交额 相差比较远 当年成交额是 8.53 亿 day文件换算下来是1313555943  恳请哪位老师指点一二  学生不剩感激
通达信day文件 成交额字段

7 个解决方案

#1


你打算让我们也去探讨一下数据是如何组织的吗?

#2


$h = "\xe7\x45\x4B\x4E";
print_r(unpack('f', $h));
Array
(
    [1] => 852588992
)

显然是你弄错了

#3


$h = pack('H*', '217a3301ed040000f5040000dd040000e6040000e745444e');
print_r(unpack('L5j/fv', $h));
Array
(
    [j1] => 20150817
    [j2] => 1261
    [j3] => 1269
    [j4] => 1245
    [j5] => 1254
    [v] => 823228864
)

#4


引用 2 楼 xuzuning 的回复:
$h = "\xe7\x45\x4B\x4E";
print_r(unpack('f', $h));
Array
(
    [1] => 852588992
)

显然是你弄错了

版主好 是学生不才 到现在不知道是如何计算出来的 初学计算机 不是太懂 能否简单的说明一下 学生感激不尽

#5


这里面并没有计算,只是个如何解释数据的问题

$h = "\xe7\x45\x4B\x4E";
表示的是一个 4 字节长的字符串

你可以当做字符串解释
echo $h; //鏓KN

你可以当做短整型数解释
print_r(unpack('s*', $h));
Array
(
    [1] => 17895
    [2] => 20043
)

你可以当做长整型数解释
print_r(unpack('L*', $h));
Array
(
    [1] => 1313555943
)

你可以当做浮点数解释
print_r(unpack('f*', $h));
Array
(
    [1] => 852588992
)

当然,你是有参照的,所以你知道那种解释符合实际情况

#6


引用 5 楼 xuzuning的回复:
这里面并没有计算,只是个如何解释数据的问题

$h = "\xe7\x45\x4B\x4E";
表示的是一个 4 字节长的字符串

你可以当做字符串解释
echo $h; //鏓KN

你可以当做短整型数解释
print_r(unpack('s*', $h));
Array
(
    [1] => 17895
    [2] => 20043
)

你可以当做长整型数解释
print_r(unpack('L*', $h));
Array
(
    [1] => 1313555943
)

你可以当做浮点数解释
print_r(unpack('f*', $h));
Array
(
    [1] => 852588992
)

当然,你是有参照的,所以你知道那种解释符合实际情况

感谢 搞定好久了 原来真心简单  通达信day文件 成交额字段

#7


换算下来是1313555943是用了长整形吧。

#1


你打算让我们也去探讨一下数据是如何组织的吗?

#2


$h = "\xe7\x45\x4B\x4E";
print_r(unpack('f', $h));
Array
(
    [1] => 852588992
)

显然是你弄错了

#3


$h = pack('H*', '217a3301ed040000f5040000dd040000e6040000e745444e');
print_r(unpack('L5j/fv', $h));
Array
(
    [j1] => 20150817
    [j2] => 1261
    [j3] => 1269
    [j4] => 1245
    [j5] => 1254
    [v] => 823228864
)

#4


引用 2 楼 xuzuning 的回复:
$h = "\xe7\x45\x4B\x4E";
print_r(unpack('f', $h));
Array
(
    [1] => 852588992
)

显然是你弄错了

版主好 是学生不才 到现在不知道是如何计算出来的 初学计算机 不是太懂 能否简单的说明一下 学生感激不尽

#5


这里面并没有计算,只是个如何解释数据的问题

$h = "\xe7\x45\x4B\x4E";
表示的是一个 4 字节长的字符串

你可以当做字符串解释
echo $h; //鏓KN

你可以当做短整型数解释
print_r(unpack('s*', $h));
Array
(
    [1] => 17895
    [2] => 20043
)

你可以当做长整型数解释
print_r(unpack('L*', $h));
Array
(
    [1] => 1313555943
)

你可以当做浮点数解释
print_r(unpack('f*', $h));
Array
(
    [1] => 852588992
)

当然,你是有参照的,所以你知道那种解释符合实际情况

#6


引用 5 楼 xuzuning的回复:
这里面并没有计算,只是个如何解释数据的问题

$h = "\xe7\x45\x4B\x4E";
表示的是一个 4 字节长的字符串

你可以当做字符串解释
echo $h; //鏓KN

你可以当做短整型数解释
print_r(unpack('s*', $h));
Array
(
    [1] => 17895
    [2] => 20043
)

你可以当做长整型数解释
print_r(unpack('L*', $h));
Array
(
    [1] => 1313555943
)

你可以当做浮点数解释
print_r(unpack('f*', $h));
Array
(
    [1] => 852588992
)

当然,你是有参照的,所以你知道那种解释符合实际情况

感谢 搞定好久了 原来真心简单  通达信day文件 成交额字段

#7


换算下来是1313555943是用了长整形吧。