有关palm os的基本数据类型转换和运算的问题,高分相送
luxda 2002-09-03 10:39:27 我想把char* 转化为浮点,写了个函数:
编程环境:CodeWarrior 8.0
project Access Path: {Compiler}Palm OS Support
我的函数所在文件为Sscan.c
编译时出现Link Error:
Link Error : Sscan.c ‘_d_itod’ referenced from ‘StrAToF1’ is undefined.
Link Error : Sscan.c ‘_d_div’ referenced from ‘StrAToF1’ is undefined.
Link Error : Sscan.c ‘_d_add’ referenced from ‘StrAToF1’ is undefined.
static double StrAToF1(char* src);
/***********************************************************************
*
* FUNCTION: StrAToF
*
* DESCRIPTION: This routine transform a string to a double
*
* PARAMETERS: src(in) - The string we want to transform
*
* RETURNED: The double we need.
**********************************************************************/
double StrAToF1 (char* src)
{
char integerPart[128];
char decimalPart[128];
int i;
double vReturn = 0.0;
int len;
int nTmp = 0;
len = StrLen(src);
if(!len)
return 0;
else
{
int indexOfPoint = IndexOf(src, '.');
if(indexOfPoint != -1)
{
for(i=0;i<indexOfPoint;i++)
{
integerPart[i] = src[i];
}
for(i=indexOfPoint+1;i<len;i++)
{
decimalPart[i] = src[i];
}
nTmp = StrAToI(decimalPart);
vReturn = (double)nTmp;
for(i=0;i<len-indexOfPoint-1;i++)
{
vReturn = vReturn/10;
}
vReturn += (double)StrAToI(integerPart);
}
else
{
vReturn += (double)StrAToI(src);
}
}
return vReturn;
}
函数StrAToI(char* )由#include <StringMgr.h>包含