C:如何在没有舍入,截断或填充的情况下从Float转换为String?

参见英文答案 > Why do I see a double variable initialized to some value like 21.4 as 21.399999618530273?14个
我遇到了问题,无法解决问题.需要大师的帮助.以下是示例代码: –
float f=0.01f;
printf("%f",f);

如果我们在调试期间检查变量中的值,则f包含’0.0099999998’值,printf的输出为0.010000.

一个.有没有办法可以强制编译器为float类型的变量赋值?

湾我想将float转换为字符串/字符数组.怎么可能只将完全相同的值转换为字符串/字符数组.我想确保没有填充零,没有填充不需要的值,数字没有变化,如上例所示.

解决方法

除了极少数的值(例如0.25)之外,不可能使用基数2值准确地表示基数10十进制数.为了得到你需要的东西,你必须从float / double内置类型切换到某种十进制数字包.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...