- ベストアンサー
ftoa の作り方
atofの逆の変換ftoaの作り方を教えてください。あるいは参考になるページを教えてください。 #include <stdio.h> void ftoa(char *string, double f, int figure) { sprintf(string, "%.*f", figure, f); } main() { char str[10]; ftoa(str, 0.3532, 4); puts(str); } 関数ftoaの部分はネット上で見つけたもので、このように書けば4行ですむらしいのですがどうも実行結果は 0.123400 というふうに4桁に指定しているのに6桁ででてきてしまいます(私の使っているコンピュータでは)。main関数は私が描いたのですが、まずいところがあったら教えてください。ちなみに私はsprintfの使い方がわかっていません。
- みんなの回答 (3)
- 専門家の回答
お礼
ご指摘のとおり、学校のほうでは"%.*f"を"%*f"と打ってしまっていました。 >sprintf(s,"%10.5f",v) と sprintf(s,"%*.*f",10,5,v)が同じ結果になるといえば分かりますか? 確かにこう書いていただけるとわかりやすいですね。ありがとうございました。