php-sqllite - php将二进制双精度浮点数据存到SQLlite3里面,结果居然不正确,怎么回事?

WBOY
Freigeben: 2016-06-06 20:08:32
Original
939 Leute haben es durchsucht

1.近日在做一些sqlite3方面的事情,定义了一个blob类型的字段,想把双精度浮点数存到这里面,于是诡异的事情发生了。双精度浮点数13.46,十六进制为402A EB85 1EB8 51EC,可是SQLITE里面的数据是 402A CB85 1EC2 B851 EFBF BD,这TM什么鬼,代码如下:

<code>$str=$common->DoubleToHex(13.46);
$s=hex2bin($str);
echo $str;//输出的结果是402A EB85 1EB8 51EC,这是正确的
$data->InsertData("table01", "'SS','0','".$s."'","time,timespan,data");//把数据插入到sqlite里面,数据就不对了
</code>
Nach dem Login kopieren
Nach dem Login kopieren

奇怪的是,错误只在double的时候产生,其他数据格式都没问题。

回复内容:

1.近日在做一些sqlite3方面的事情,定义了一个blob类型的字段,想把双精度浮点数存到这里面,于是诡异的事情发生了。双精度浮点数13.46,十六进制为402A EB85 1EB8 51EC,可是SQLITE里面的数据是 402A CB85 1EC2 B851 EFBF BD,这TM什么鬼,代码如下:

<code>$str=$common->DoubleToHex(13.46);
$s=hex2bin($str);
echo $str;//输出的结果是402A EB85 1EB8 51EC,这是正确的
$data->InsertData("table01", "'SS','0','".$s."'","time,timespan,data");//把数据插入到sqlite里面,数据就不对了
</code>
Nach dem Login kopieren
Nach dem Login kopieren

奇怪的是,错误只在double的时候产生,其他数据格式都没问题。

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage