AnsiString Double2String(double dTemp, int iDecplaces)
{
string strOut;
ostringstream out;
//out.precision(iDecplaces);//覆盖默认精度out<<value;
out<<dTemp;
strOut = out.str(); //从流中取出字符串 数值现在存储在str
size_t n = strOut.find(DECIMAL_POINT);
if ((n != string::npos)) //是否有小数点呢?
{
//检查小数的位数
size_t sFind = strOut.find(DECIMAL_POINT);
if ((sFind != string::npos) && (strOut.size() > sFind + iDecplaces))//有小数点吗?
{
strOut[sFind + 1 + iDecplaces] = '\0'; //后面至少还有iDecplaces位吗?//在小数iDecplaces位之后写入nul
}
}
AnsiString anString;
anString.sprintf("%s", strOut.c_str());
return anString;
}
AnsiString Int2String(int iTemp)
{
string strOut;
ostringstream out;
out<<iTemp;
strOut = out.str(); //从流中取出字符串 数值现在存储在str
AnsiString anString;
anString.sprintf("%s", strOut.c_str());
return anString;
}
double String2Double(AnsiString str)
{
if(!str.IsEmpty())
{
return str.ToDouble();
}
return 0;
}
int String2Int(AnsiString str)
{
if(!str.IsEmpty())
{
return str.ToInt();
}
return 0;
}