EVC3.0中,double类型数据如何转换成字符串输出

ninansky 2006-10-14 03:40:54
问题是这样的,我从Access数据库中获得了一个double类型的数据,要把它显示到List Box控件上,请问应该怎么样处理,为什么我输出的数据都不是数据库里原来的那个数字。求大家帮帮忙了。我现在用的是EVC3.0。
顺便问一下另外一个问题,为什么用这个程序在别的PDA上可以使用,而在HAPO200的PDA上就老是出现无法连接到数据库的错误,这个机子的系统是.NET4.2的,别的机子不是,是兼容问题吗?
还请各位大哥帮帮忙,小弟再次拜谢了。
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ninansky 2006-10-22
  • 打赏
  • 举报
回复
又要自己顶起来了呀
ninansky 2006-10-21
  • 打赏
  • 举报
回复
好了,谢谢大家,我就用Format那个函数来做,用_ecvt那几个用起来还不太好用.第二个问题是不是拿3.0的程序在4.0的编译器里编译一下就行呢,我没试过,没装那个,看什么时候去装了试一下吧,不知道大家有没有其它办法解决

另外还不一个不懂的地方想再麻烦大家一下,我现在用的是ADOCE去访问Access数据库,在进行查询的时候,字符串和整型数据都可以执行成功并查找到相应数据,但是对double类型的字段时候查询时,就总是执行失败,这是为什么,用什么办法可以解决呢

再次谢谢大家了呀
YourKing 2006-10-20
  • 打赏
  • 举报
回复
TCHAR szDouble[256]={0};
_stprintf(szDouble,_T("%.20lf"),db);//根据精度调整即可
载舟之水 2006-10-18
  • 打赏
  • 举报
回复
可用的还有 _gcvt _fcvt 稍有区别,都是 WINCE C Runtime函数。
载舟之水 2006-10-18
  • 打赏
  • 举报
回复
Example

/* ECVT.C: This program uses _ecvt to convert a
* floating-point number to a character string.
*/

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
int decimal, sign;
char *buffer;
int precision = 10;
double source = 3.1415926535;

buffer = _ecvt( source, precision, &decimal, &sign );
printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",
source, buffer, decimal, sign );
}
Output

source: 3.1415926535 buffer: '3141592654' decimal: 1 sign: 0
King_ce2005 2006-10-18
  • 打赏
  • 举报
回复
CString strContent;
double dNum;
strContent.Format(L"%g" , dNum);
ninansky 2006-10-15
  • 打赏
  • 举报
回复
哦,谢谢,可是最主要的问题没有说呢,呵呵
色郎中 2006-10-14
  • 打赏
  • 举报
回复
2 可能是系统不一样,或是 SDK 不一样
其实一样呵呵

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧