c++ - 如何将用户输入的字符转换为 Double C++

标签 c++ char double atof

我正在尝试找出一种获取用户输入字符并将其转换为 double 字符的方法。我试过 atof 函数,尽管它似乎只能用于常量字符。有没有办法做到这一点?这是我想做的事情的想法:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>

int main(){

    char input;
    double result;

    cin >> input; 

    result = atof(input);
}

最佳答案

atofstring(不是单个字符)转换为 double。如果要转换单个字符,有多种方式:

  • 通过附加一个空字符创建一个字符串并将其转换为double
  • 从字符中减去48('0'的ASCII值)
  • 使用switch检查是哪个字符

请注意,C 标准不保证字符代码为 ASCII,因此,第二种方法不可移植,但它适用于大多数机器。

关于c++ - 如何将用户输入的字符转换为 Double C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29485194/

相关文章:

c++ - 用于在游戏中记录事件的适当架构

c++ - g++/gcc 中 char 的符号及其历史

c - C语言中如何使用char

Java - 将字符串转换为 double 的最有效方法

c++ - 为什么我的 "double"值没有按我预期的方式打印?

c++ - Point2f vector 的最小值和最大值

c++ - 具有返回值的突变体(集合函数)?

c++ - 为什么 ZeroMQ PUSH/PULL 可以工作,而 PUB/SUB 不行?

c++ - 将 vector<string> * char 转换为 int

Java : how to get correct result?