37 lines
1.2 KiB
Markdown
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.
|