Tag: cvi

sprintf%g说明符在点之后给出的位数太少

我正在尝试将浮点变量写入我的ini文件中,我遇到了格式说明符的问题。 我有一个浮动值,让它为101.9716。 现在我想将它写入我的ini文件,但问题是我有另一个浮点值,它具有较少的先决条件(例如15.85),并且该值正在同一循环中写入ini文件。 所以我这样做: sprintf(valLineY, “%g”, grade[i].yArr[j]); 我所有的其他变量都变成了很好的字符,如“20”(如果它是20.00000),“13.85”(如果它是13.850000),依此类推。 但由于某种原因,101.9716变为“101.972”。 你能否告诉我为什么会发生这种情况以及如何在不破坏我的意识形态的情况下使其成为“101.9716”(这是关于删除尾随的零和不必要的感知)。 谢谢你的帮助。