C语言下double转char*或者std::string,可以精确转换不含多余的0


char* GetDoubleStr(double value)
{
	char buf[32]={0};//长度可以自定义
	sprintf(buf,"%.8f",value);//保留8位小数,不够补0
	int index = 0;
	int len = strlen(buf);
	for(int i = len-1;i>0;i--)
	{
		if(buf[i] == '0')
			continue;
		else
		{
			if(buf[i] == '.') index = i;			
			else index = i+1;
			break;
		}
	}
	buf[index] = '\0';
	return buf;
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM