我面临一个问题,无法解决。需要大师的帮助。这是示例代码:-
float f=0.01f;
printf("%f",f);
如果我们在调试期间检查变量中的值 f 包含 ‘0.0099999998’ 值并且 printf 的输出为 0.010000。
一个。有什么方法可以强制编译器为浮点类型的变量分配相同的值?
湾。我想将浮点数转换为字符串/字符数组。怎么可能只有并且只有完全相同的值被转换为字符串/字符数组。我想确保没有填充零,没有填充不需要的值,没有数字变化,如上例所示。
原文由 Azher Iqbal 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用以 2 为底的值不可能准确地表示以 10 为底的十进制数,除了极少数值(例如 0.25)。为了得到你需要的东西,你必须从 float/double 内置类型切换到某种十进制数字包。