dtostrf関数
dtostrf関数は小数点を含む数値を文字列に変換します。
LCDに数値を右詰めで表示する際に便利な関数です。
変換された文字列Aは”3.141592”と全8文字の小数点以下6文字がシリアルモニタ上に表示されます。(2019/02/03:3.14159→3.141592に修正)
char A[15];
double B = 3.141592;
void setup() {
Serial.begin(9600); // 9600bpsでシリアルポートを開く
}
void loop() {
dtostrf(B, 8, 6, A); //数値Bを文字列(全8文字の小数点以下6文字)に変換してAに代入
Serial.print(A); //文字列Aをシリアルモニタに出力
Serial.print(" : "); //” : ”をシリアルモニタに出力
Serial.println(B); //数値Bをシリアルモニタに出力
delay(1000); //1秒待つ
}
図1:プログラム例
〇dtostrf関数の構文
char *dtostrf(double val, signed char width, unsigned char prec, char *s)
〇dtostrf関数のパラメータ
val :変換する値
width :小数点や符号を含んだ変換後の総文字数。
※負の数を指定すると左詰めとなる。
prec :小数点以下の桁数
s :変換後の文字列を格納する変数を指定
〇dtostrf関数の戻り値
変換後の文字列を格納する変数(引数で与えたsが返ってくる)
励みになりますのでよければクリック下さい(^o^)/