gpt4 book ai didi

c++ - 从 float 中提取单个数字

转载 作者:搜寻专家 更新时间:2023-10-30 23:51:00 24 4
gpt4 key购买 nike

我整天都在为这个问题苦苦思索。我目前正在处理的 C++ 项目有显示可编辑值的要求。当前选择的数字显示该数字的上方增加值和下方减少值。能够将可编辑值引用为数字和数字集合是很有用的。如果有某种可索引形式的 float 会很棒,但我一直找不到这样的解决方案。我提出这个问题是为了看看是否有明显的我遗漏的东西,或者我是否应该自己提出。


多谢指教!我希望有一个不会从 float -> string -> int 转换的解决方案,但我认为这是摆脱浮点量化问题的最佳方式。我最终使用了 boost::format 并只引用了字符串的各个字符。与使用 modf 和 fmod 的组合尝试从 float 中获取数字相比,我看不出这是一个巨大的性能差异(它可能只是在幕后这样做,只是比我的实现更强大)。

最佳答案

float 的内部表示与您看到的不同。你只能投到一个stirng。

要进行转换,请执行以下操作:

char string[99];
sprintf(string,"%f",floatValue);

或者看这个:http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.1

维基百科文章可以对表示进行更多解释:http://en.wikipedia.org/wiki/Floating_point

关于c++ - 从 float 中提取单个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com