Sprintf and mbed bare metal profile

Hello!
Why do not work function sprintf in mbed bare metal profile

#include "mbed.h"

#define WAIT_TIME_MS 500
DigitalOut led1(LED1);
char low_temp[6];
float temp=12.1;
BufferedSerial serial_debug(PA_2, PA_3, 9600);

int main()
{

    while (true)
    {
        led1 = !led1;
        sprintf(low_temp, "%f", temp);
        serial_debug.write(low_temp, 5);
        serial_debug.write("\r\n", 2);
        thread_sleep_for(WAIT_TIME_MS);
    }
}

result:

%f...
%f...
%f...
%f...
%f...
%f...
%f...
%f...

No floating point in printf unless you explicitly enable it. Otherwise firmware sizes would generally explode.

Try adding

build_flags = -u_printf_float

to the platformio.ini. (c - arm-none-eabi-gcc : Printing float number using printf - Stack Overflow)

Thank you very much!
added
build_flags = -u_printf_float
and fixed
sprintf(low_temp, "%.2f", temp);
it works!