0

ユーザー入力文字を取得して double に変換する方法を見つけようとしています。この関数を試してみましたがatof、定数文字でしか使用できないようです。これを行う方法はありますか?私がやりたいことのアイデアは次のとおりです。

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

int main(){

    char input;
    double result;

    cin >> input; 

    result = atof(input);
}
4

3 に答える 3

4

atof文字列(1 文字ではない) を double に変換します。単一の文字を変換する場合は、さまざまな方法があります。

  • null 文字を追加して文字列を作成し、それを double に変換します
  • 文字から 48 ('0' の ASCII 値) を引きます。
  • switchどのキャラクターか確認するのに使う

C 標準は、文字コードが ASCII であることを保証しないことに注意してください。したがって、2 番目の方法はほとんどのマシンで機能するため、移植性がありません。

于 2015-04-07T06:37:25.673 に答える
-1

交換

char input

char *input
于 2015-04-07T06:38:25.550 に答える