【问题标题】:How to display Degree Celsius in a string in C++ [closed]如何在 C++ 中的字符串中显示摄氏度 [关闭]
【发布时间】:2014-05-21 07:53:11
【问题描述】:

我需要显示一个值为 36 摄氏度的字符串。

string sFinish = NULL;
string sValue = "36"; 
sFinish.append(sValue);
sFinish.append(" Deg Celsuis");
cout<<"Degree = "<<sFinish;

我不知道如何显示度数(o 符号)而不是写“摄氏度”。

如果您只是将粘贴“°”字符串复制到代码中 - 它会显示额外的字符 - 就像这个“°”。

【问题讨论】:

  • 如果您的键盘上没有度数符号,这里有一个°,您可以复制粘贴到您的代码中。
  • 使用charmap,或alt+0176(在小键盘中),或复制:°
  • @YodanTauber :我们可以通过复制粘贴来显示它吗? :)
  • 它在您的源代码或输出(例如控制台)中是否显示为这样?您是否尝试将源代码保存为 UTF-8?
  • 为什么关闭?这是a nontrivial question

标签: c++ console


【解决方案1】:

试试:

std::cout << "Temperature: " << sValue << "\370";

【讨论】:

  • +1,但'\370' 表明只有一个字符可能会更好。
  • 谢谢...这行得通 :) 我也试过“\u2103”,这可以是一个替代选项 :)
【解决方案2】:

您可能会发现以下链接对full ascii table 很有帮助。

这是我在 SO 上找到的解决方案:Including decimal equivalent of a char in a character array

但总而言之,这样就可以了

char * val = "37";
string temp(val);
temp.append("\xB0");    
cout << temp;

【讨论】:

  • 我发现 \370 有错误的字符,但 \0xB0 给出了正确的字符。
【解决方案3】:

以防万一有人想试试这个:

sFinish.append("\u2103");

这将显示摄氏度:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多