アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、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(コマンドプロンプト)ではしっかり表示できているのでプログラムは間違っていないと思うのですが、なぜなのでしょうか?

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

A 回答 (1件)

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



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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!