c++ - std::hex/std::oct 不工作(打印十进制值)

标签 c++

当我尝试在 Hex 中打印一个数字时或 oct格式我得到十进制输出而不是转换后的值

我认为类定义不是必需的,但这里是 Number

class Number
{
public:
    Number(double);

    virtual void show () =0;

protected:
    double number;
};

例如 HexN.h(我仍然觉得问题不是由这些引起的)

#include "Number.h"
#pragma once

class Hex : public Number
{
public:
    Hex(double);

    virtual void show ();
};

show()功能。它不起作用,只是打印回小数而不是所需的基数

void Hex::show()
{
    //std::cout.setf(std::ios::hex, std::ios::basefield); //Once i commented //std::hex 
    cout <<"Hex value is : "<<std::hex<<number<<endl;
}

搜索了 stackoverflow 和其他网站,但他们都说使用 std::cout<<std::hex<<number;而且这个功能在这里神奇地不起作用。

编辑:谢谢大家,通过更改 std::hex 解决了问题至 std::floathex和铸doublelong int为八进制基数。

最佳答案

std::hex modifies the default numeric base for integer I/O ,不适用于浮点 I/O。

使用std::hexfloat相反。

关于c++ - std::hex/std::oct 不工作(打印十进制值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452439/

相关文章:

c++ - 在 CTreeView 标签中复制粘贴

c++ - SQLite3 C++ 列值不会递增 1

c++ - 初始化一个未知维度的数组

c++ - Arduino C++,奇怪的数组行为

c++ - C++0x什么时候发布?

c++ - SDL 指针和引用

c++ - 参数类型不兼容的 MPI 错误 "char"到 "const char"c++

c++ - 如何对内存块进行按位操作(C++)

c++ - 初始化列表奇怪地取决于参数的顺序?

c++ - 如何创建元组列表 C++