C++ 将浮点数的前四位存为string

首先,生成浮点数:

float idx_score = 0.555687;

其次,定义string变量:

std::stringstream score_temp;
定义char数组变量:

char tPath[5];

使用sprintf函数写入:

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

你可能感兴趣的:(C++)