示例#1
0
文件: StringFn.cpp 项目: mumurik/mona
/**
	@brief	説明、引数、戻り値はMonapi2リファレンス参照。
	@date	2005/08/20	junjunn 作成
*/
float StringFn::toFloat(cpchar1 cszSource,cpchar1* pcszEnd)
{
//cszEndはNULLの可能性があるのでこれを使う。
	cpchar1 cszEndTemp;

//まずは整数パートを拾う
	float fReturn = (float)getIntAt(cszSource,10,&cszEndTemp);

//小数パート
	if (*cszEndTemp == '.')
	{
		float fFloatPart = (float)getIntAt(cszEndTemp+1,10,&cszEndTemp);

//今得たfFloatPartは整数での形なので小数点に直すため10で割り続ける。
		while (fFloatPart > 1)
			fFloatPart/=10;

		fReturn+=(fReturn>=0)?fFloatPart:-fFloatPart;
	}

	if (pcszEnd)	*pcszEnd=cszEndTemp;
	return fReturn;
}
示例#2
0
文件: StringFn.cpp 项目: mumurik/mona
/**
	@brief	説明、引数、戻り値はMonapi2リファレンス参照。
	@date	2005/08/20	junjunn 作成
*/
int	StringFn::toInt(cpchar1 cszSource,int iBase,cpchar1* pcszEnd)
{
	return getIntAt(cszSource,iBase,pcszEnd);
}
int getFirstInt(SlimList* args) {
    return getIntAt(args, 0);
}