こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

LCDに小数点以下の数字を表示する方法

現在、PIC18F14K50を用いたLCD電圧計をつくっています。
sprintfを使って文字列にして表示させようとしたのですが、int型は数字が表示されるのに
double型は数字が表示されません。
具体的には

int temp = ReadADC();
sprintf(buf,"VOLTAGE=%d",temp);
LCD_str(buf);
↑これがうまく表示されて

int temp = ReadADC();
double data = (double)(temp);
sprintf(buf,"VOLTAGE=%.2lf",data);
LCD_str(buf);
↑これが数字の部分が表示されません。

PC(コマンドプロンプト)ではしっかり表示できているのでプログラムは間違っていないと思うのですが、なぜなのでしょうか?

また、ほか小数点以下の数字を表示させる方法がありましたら教えて下さい。

投稿日時 - 2012-08-25 01:19:48

QNo.7661950

すぐに回答ほしいです

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

マイコン用だと、パソコン用って、単純に比較できません。

マイコン用C言語のsprintfのマニュアルをよく調べてください。
・書式文字列の説明に 「%fはdoubleに対応した固定小数点形式」というようなことは書かれていますか?
.2とかの表現もマニュアルにちゃんと書かれてますか?
・こちらの件は大丈夫ですか?
http://www.kijineko.co.jp/tech/superstitions/printf-format-for-double.html
・「数字が表示されません」とは、具体的にどんな表示になるのでしょう?
・表示桁は足りてますね?

投稿日時 - 2012-08-25 03:00:59

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問