• ベストアンサー

電卓処理

初めて、書き込みます。よろしくお願いします。 C言語で、電卓を作成しようとしています。 計算処理は 足し算、引き算、掛け算はint型で行い、 割り算だけは、小数点を使いたいのでfloat型を使いたい と考えています。 また、計算結果の表示は、char型の文字列として表示する。 としたとき、問題として、 float型をchar型に変換する方法がわかりません。 どなたか教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • fatbowler
  • ベストアンサー率48% (26/54)
回答No.2

十分な大きさのバッファを用意し、 1.sprintf()で数値を文字列化してバッファに入れる。 2.バッファの左から表示桁数分を、strncpy()を使って表示のための文字列にコピーする。 とすればいいですね。 あと、C言語では特別な場合を除いてfloatよりもdoubleが好まれます。 整数ならshort intよりもintを使うように、floatよりもdoubleを利用することが多いです。 ご参考まで。

asaki12
質問者

お礼

回答ありがとうございます。 sprintf()とstrncpy()を用いて、処理したいと思います。

その他の回答 (2)

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★アドバイス ・sprintf() 関数を使うときに『%f』よりも『%g』の方が便利です。  float a = 5.0;    『%f』のときは 5.00000 となるが  『%g』のときは 5 となるから。 ・指数表記にしたい場合は『%e』を利用します。  下の『参考URL』をどうぞ。 ・以上。

参考URL:
http://ja.wikipedia.org/wiki/Printf
asaki12
質問者

補足

アドバイスありがとうございます。 参考にさせていただきます。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

int sprintf(char *str, const char *format, ... );

関連するQ&A