如何创建一个字符串,以便将浮点数格式化为整数时没有尾随小数点或数字,但不切换到更大数字的科学记数法?
当我做:
float myFloat= 15.6f;
float myInt = 5.0f;
float myLarge = 7000000.0f;
sprintf(out, "my float is %g", myFloat);
sprintf(out, "my int is %g", myInt);
sprintf(out, "my large is %g", myLarge);
我得到类似的东西:
我的浮点数是 15.6 我的整数是 5 我的大号是 7e+07f
我想要一个可以提供 15.6、5 和 700000 的单一格式字符串。
编辑的原因评论不进行格式化:
那正是我所想。但是包装器非常不方便,因为格式字符串嵌入在更长的格式字符串中:
sprintf(buf, "%d %g", myInt, myFloat);
你怎么包装的?
sprintf(buf, "%d %g", myInt, Wrapper(myFloat));??
Wrapper 应该返回什么?或者更糟:
sprintf(buf, "%d %s", myInt, Wrapper(myFloat));??