任意の単語と同じ倍数を取得したいと考えています。Cで文字列をdouble値に変換するにはどうすればよいですか?
私はatofを使用しますが、出力がゼロになります。私はあなたがatof()
のドキュメントを読んでいない、またはstrtod()
https://www.tutorialspoint.com/c_standard_library/c_function_strtod.htm http://www.cplusplus.com/reference/cstdlib/strtod/
任意の単語と同じ倍数を取得したいと考えています。Cで文字列をdouble値に変換するにはどうすればよいですか?
私はatofを使用しますが、出力がゼロになります。私はあなたがatof()
のドキュメントを読んでいない、またはstrtod()
https://www.tutorialspoint.com/c_standard_library/c_function_strtod.htm http://www.cplusplus.com/reference/cstdlib/strtod/
それを解決するにはどうすればよい
"hello"はdoubleの有効な文字列表現ではありません。代わりに番号を試してください。たとえば、
printf("%f\n", atof("3.141"));
ダブルスは、小数点数、本質的に非整数を浮遊している。ためだ
#include <stdio.h>
#include <stdlib.h>
int main(){
printf("%f\n", *(double*)"hello");
}
うん...何ですか?あなたがしようとしていることを説明してください。 'それはあまり意味がないからです。 「こんにちは」は意味のある方法では浮動小数点ではありません。 – ThingyWotsit
'atof()'は数字を表す文字列を期待します。文字列 '' hello ''は数字を表しません。 – AlexP
あなたはどんな結果を期待していますか? – BLUEPIXY