sprintf a float

Ladislav Vaiz spam na nagano.cz
Úterý Září 13 22:09:46 CEST 2022


Mě se teda vypíše 12.340000, ale i tak je to 9 znaků. Nemáte místo pro 
'\0' a už vůbec nepočítáte s maximální možnou délkou při převodu double 
-> string. Podle internetu je to 24 znaků, ale raději použijte snprintf.
L.

On 13.09.2022 22:01, Petr Zapadlo wrote:
> Zdravím,
>
> nějak tady bojuju s sprintf funkcí:
>
> void UART_float(float hodnota){
>   char retezec[9];
>   sprintf(retezec,"%f",double(hodnota));
>
>   UART_puts(retezec);
> }
>
> strašně jednoduchá funkce, cílem je dostat float na výstup UARTu. 
> Problém je v tom, že mi to vrátí jen otazník ?.
>
> Když tam dám int /uint nebo jakýkoliv celočíselný typ, tak to funguje 
> podle předpokladů, ale já bych potřeboval právě ten float.
>
> Jak na to?
>
> Díky
>
> Petr
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list