blog/_posts/2014-12-09-dtostrf-lexplica...

37 lines
1.2 KiB
Markdown

---
title: "Conversion Float → String: dtostrf( ) - Arduino"
date: 2014-12-09
last_modified_at: 2023-11-05 14:25
url: dtostrf-lexplication
layout: post
category: Programming
---
[![A missing blog post image](/img/blog/dtostrf-lexplication.png)](/img/blog/dtostrf-lexplication.png)
:warning: Cet article est incomplet et ne traite pas des _edge cases_, je vous recommande chaudement [cette page](https://www.programmingelectronics.com/dtostrf/).
Certaines fonctions nécessitent de manipuler des chaînes de caractères, c'est pour cela qu'il faut passer par un outil permettant la conversion de certains types vers elles.
Ici nous allons parler de `double` (ou `float`) vers une `string` donc !
Il faut passer par `dtostrf()` ("_Double to String, Formatted_").
Voici son prototype :
{% highlight c %}
char *dtostrf(double val, signed char width, unsigned char prec, char *s)
{% endhighlight %}
Incompréhensible hein ?
Explications des paramètres :
1. `val` : Variable décimale à convertir
2. `width` : Taille de la chaîne cible (les caractères `-` et `.` doivent être comptés)
3. `prec` : Nombre de chiffres après la virgule
4. `s` : Tableau contenant la chaîne de caratères
PS : Elle renvoie un pointeur sur le tableau contenant la chaîne.