84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
小伙看你根骨奇佳,潜力无限,来学PHP伐。
sprintf难道不够高效?不用库函数把sprintf关于%f的拿出来就好了。
如果你想连sprintf对%的处理都省掉的话,建议使用_gcvt_s函数。
使用方法如下:
char buffer[320]; _gcvt_s(buffer, 320, number, 30); vint len = (vint)strlen(buffer); if (buffer[len - 1] == '.') { buffer[len - 1] = 'void _gcvt_s(char* buffer, size_t size, double value, vint numberOfDigits) { sprintf(buffer, "%f", value); char* point = strchr(buffer, '.'); if(!point) return; char* zero = buffer + strlen(buffer); while(zero[-1] == '0') { *--zero = 'rrreee'; } if(zero[-1] == '.') *--zero = 'rrreee'; } '; }
void _gcvt_s(char* buffer, size_t size, double value, vint numberOfDigits) { sprintf(buffer, "%f", value); char* point = strchr(buffer, '.'); if(!point) return; char* zero = buffer + strlen(buffer); while(zero[-1] == '0') { *--zero = 'rrreee'; } if(zero[-1] == '.') *--zero = 'rrreee'; }
如果你使用的编译期没有_gcvt_s的话,可以自己封装一个:
这样程序在别的编译期下既,而且在VC++下面又可以发挥优异的性能。
为什么没有人提grisu算法。它是一个最快的,“完全正确”的算法放库跑:https://github.com/night-shift/fpconv
grisu
sprintf难道不够高效?
不用库函数把sprintf关于%f的拿出来就好了。
如果你想连sprintf对%的处理都省掉的话,建议使用_gcvt_s函数。
使用方法如下:
如果你使用的编译期没有_gcvt_s的话,可以自己封装一个:
rrreee这样程序在别的编译期下既,而且在VC++下面又可以发挥优异的性能。
为什么没有人提
grisu
算法。它是一个最快的,“完全正确”的算法放库跑:https://github.com/night-shift/fpconv