首先,生成浮点数:
float idx_score = 0.555687;
std::stringstream score_temp;定义char数组变量:
char tPath[5];
sprintf(tPath, "%.4f", idx_score);
注:sprintf是C++继承自C语言的函数,无法直接支持string类型,所以要先把string类型转为基础类型,也就是char*。
最后,将tPath赋给score_temp:
score_temp << (tPath);
另外,如果要使用sprintf将string变量str写入char数组变量array,则需要使用string类的成员函数c_str();
该成员函数功能为:将string的内容转为C语言的字符数组表达形式:
sprintf(array, "%s", str.c_str());除此之外,还可以用strcpy函数,使代码更简单:
strcpy(array, str.c_str());
参考:http://zhidao.baidu.com/link?url=CTkL9vvq0qGjMNdCvqQjb_u9-zeqO7yKIGyxhqU3vR7CFuEbE3XOTHuMm-R1LAV-BflL0MZ_bMKHdt4TGrInUa