gpt4 book ai didi

c++ - 将 double 转换为字符数组 C++

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:12 25 4
gpt4 key购买 nike

我正在尝试将 double 转换(并舍入)为 char 数组,而不首先在 double 上使用 std::to_string 进行转换。但是,我收到的是随机内存文本。我究竟做错了什么?

这是我的代码:

double d = 1.0929998; 
d = std::round(d * 100) / 100;

char s[sizeof(d)];
std::memcpy(s,&d,sizeof(d));

结果:

s: q=×£pñ?

预期值(value):

s: 1.09

最佳答案

您正在将 double 的文字字节翻译成 chardouble 值是二进制表示(通常类似于 IEEE 754 ),而 char 是字符的二进制表示(通常基于 ASCII )。这两个不兼容。

不幸的是,这意味着您必须进行某种转换过程。您说您不想执行的 std::to_string() 或更复杂的 std::stringbuf (将调用 std: :to_string() 无论如何在引擎盖下)

关于c++ - 将 double 转换为字符数组 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50710587/

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