Chat freely about anything...

User avatar
By liderbug
#70031 I want to print a formatted float - ie. Serial.printf ("Value = %4.1f\n", value);
I get "Value = %.1f"

Bug? Fix? :?:
User avatar
By rudy
#70032 I get the following
Code: Select allfloat value = 12341.117840547;

  Serial.printf ("Value = %4.1f\n", value);
  Serial.printf ("Value = %4.1f\n", 9.0453);   
  Serial.printf ("Value = %4.1f\n", 9.0); 
  Serial.printf ("Value = %5.1f\n", 9.0); 
  Serial.printf ("Value = %6.1f\n", 9.0);
  Serial.printf ("Value = %6.1f\n", 1234.567); 


Code: Select allValue = 12341.1
Value =  9.0
Value =  9.0
Value =   9.0
Value =    9.0
Value = 1234.6
User avatar
By liderbug
#70035 Your code copy'n paste gives:
Value = %.1f
Value = %.1f
Value = %.1f
Value = %.1f
Value = %.1f
Value = %.1f

bad lib? missing include (using stdarg & stdio)
Serial.printf ("Value = %07d\n", 1234); gives Value = 0001234
I'd upgrade but I'm running Ard. 1.8.4, L&G
RasPi3 - Linux SG41 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

Code: Select all#include <stdarg.h>
#include <stdio.h>

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
float value = 12341.117840547;

  Serial.printf ("Value = %4.1f\n", value);
  Serial.printf ("Value = %4.1f\n", 9.0453);   
  Serial.printf ("Value = %4.1f\n", 9.0);
  Serial.printf ("Value = %5.1f\n", 9.0);
  Serial.printf ("Value = %6.1f\n", 9.0);
  Serial.printf ("Value = %6.1f\n", 1234.567);
  Serial.printf ("Value = %d\n", 1234);
  Serial.printf ("Value = %07d\n", 1234);

}

void loop() {
  // put your main code here, to run repeatedly:
delay (9999999);
}
User avatar
By rudy
#70036 I had originally taken the blink sketch and added the code I posted above. Not other added libraries.

I took your code above and ran it and it gave the following. I am using Arduino 1.8.4 and ESP8266 2.4.0-rc1.

Code: Select allValue = 12341.1
Value =  9.0
Value =  9.0
Value =   9.0
Value =    9.0
Value = 1234.6
Value = 1234
Value = 0001234