2017-05-27 10 views
-1

任意の単語と同じ倍数を取得したいと考えています。Cで文字列をdouble値に変換するにはどうすればよいですか?

私はatofを使用しますが、出力がゼロになります。私はあなたがatof()のドキュメントを読んでいない、またはstrtod() https://www.tutorialspoint.com/c_standard_library/c_function_strtod.htm http://www.cplusplus.com/reference/cstdlib/strtod/

+4

うん...何ですか?あなたがしようとしていることを説明してください。 'それはあまり意味がないからです。 「こんにちは」は意味のある方法では浮動小数点ではありません。 – ThingyWotsit

+1

'atof()'は数字を表す文字列を期待します。文字列 '' hello ''は数字を表しません。 – AlexP

+1

あなたはどんな結果を期待していますか? – BLUEPIXY

答えて

0

それを解決するにはどうすればよい

"hello"はdoubleの有効な文字列表現ではありません。代わりに番号を試してください。たとえば、

printf("%f\n", atof("3.141")); 
0

ダブルスは、小数点数、本質的に非整数を浮遊している。ためだ

#include <stdio.h> 
#include <stdlib.h> 
int main(){ 
printf("%f\n", *(double*)"hello"); 
} 
関連する問題