目前,我所知道的唯一功能是_snprintf_s
,如下所示
double dMyValue = <some value>;
_snprintf_s(pszMyBuffer, sizeof(pszMyBuffer), 12, "%.10f", dMyValue);
答案 0 :(得分:1)
看起来您正在使用Visual C ++。还有_fcvt_s
,_ecvt_s
和_gcvt_s
。与_snprintf_s
的主要区别在于它们不解析格式字符串,因此它们应该更有效率。 C运行时库函数通常都经过精心调整,因此您可能不会出错任何错误。
答案 1 :(得分:1)
如果您碰巧知道该值限制在某个范围内,您可能可以击败内置功能。例如:
if (v < 0){
strcat(s, "-"); s++;
v = -v;
}
double di = floor(v);
double frac = v - di;
int i = (int)di;
int f = (int)floor(frac * 1e10);
strcat(s, itoa(i)); s += strlen(s);
strcat(s, "."); s++;
strcat(s, itoa(f)); s += strlen(s);
但是我打赌你有更大的鱼可以在其他地方煎炸。