ADS库中的浮点<->文本转换函数都有问题, 你可以在板上试一下代码片断:<br /><br />char buff[128];<br />sprintf(&buff[0], "%f", 3.14159);<br />printf("%02x %02x %02x %02x %02x %02x %02x
");<br /><br />和<br /><br />char buff[128]="3.14159";<br />double val;<br />val = 100000. * atof(&buff[0]);<br />printf("%d", val);<br /><br />注意一定要在ARM板上跑, 不要使用simulator(使用armsimulator运行以上代码不会有任何问题, 因为armsimulator上使用了不同的浮点实现).<br /><br />如果我没有记错, 第一个片断的结果应当是:<br />33 <font color=#FF0000>5e</font> 31 34 31 35 39<br />小数点(ASCII 0x2E)变成其它值了.<br /><br />第二个片断的结果应当是:<br />3<font color=#FF0000>00000</font><br />小数点后的值会被全部截断.<br />
|