字符数组转为浮点值,并带2位小数,谢谢!
大家帮我看看这个函数,怎样才能把字符数组返回浮点数值,并且后面要带2位小数,如17822.88 17899.00.传入的pText参数是一个char buf(128)字符数组.
/*********************************************************************
* LONG_ StrTofloat( LPCSTR_ pText )
* Purpose:
* translate string to float
*
* return
* translated value, -1 is error.
*********************************************************************/
float StrTofloat(LPCSTR_ pText)
{
LPSTR_ p;
//LONG_ sum;
float sum; //05-07-26 原先sum定义为LONG值,我改为float
if(pText == NULL) return -1;
p = (*pText == '-' ? (LPSTR_)(pText + 1) : (LPSTR_)pText);
sum = 0;
while( *p )
{
if( *p < '0' && *p > '9' ) return -1;
sum = sum* 10 + (*p++ - '0'); //这句话我看不懂
}
return (*pText == '-' ? -sum : sum);
}