9298049180c86baa7eeba996869256c889e3d9b6
[scilab.git] / scilab / modules / string / help / fr_FR / strtod.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA -
5  * Copyright (C) 2016 - Samuel GOUGEON
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
18           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19           xmlns:scilab="http://www.scilab.org" xml:id="strtod" xml:lang="fr">
20     <refnamediv>
21         <refname>strtod</refname>
22         <refpurpose>convertit chaque nombre décimal littéral (texte) en sa valeur numérique</refpurpose>
23     </refnamediv>
24     <refsynopsisdiv>
25         <title>Syntaxe</title>
26         <synopsis>
27             [d, tails] = strtod(str)
28             [d, tails] = strtod(str, decimalseparator)
29         </synopsis>
30     </refsynopsisdiv>
31     <refsection role="arguments">
32         <title>Arguments</title>
33         <variablelist>
34             <varlistentry>
35                 <term>str</term>
36                 <listitem>
37                     <para>
38                         texte unique, ou vecteur ou matrice de textes.
39                     </para>
40                 </listitem>
41             </varlistentry>
42             <varlistentry>
43                 <term>decimalseparator</term>
44                 <listitem>
45                     <para>
46                         caractère "." (par défaut) ou "," : séparateur décimal reconnu
47                     </para>
48                 </listitem>
49             </varlistentry>
50             <varlistentry>
51                 <term>d</term>
52                 <listitem>
53                     <para>
54                         scalaire, vecteur ou matrice de nombres décimaux.
55                     </para>
56                 </listitem>
57             </varlistentry>
58             <varlistentry>
59                 <term>tails</term>
60                 <listitem>
61                     <para>
62                         matrice texte de taille identique à celle de
63                         <varname>str</varname> : <literal>tails(i)</literal> est
64                         la fin (éventuelle) de <literal>str(i)</literal> non prise
65                         en compte pour établir <literal>d(i)</literal>, ou "" par
66                         défaut.
67                     </para>
68                 </listitem>
69             </varlistentry>
70         </variablelist>
71     </refsection>
72     <refsection role="description">
73         <title>Description</title>
74         <para>
75             <code>[d, tails] = strtod(str)</code> interprète chaque élément de
76             <varname>str</varname> et tente de reconnaître un nombre décimal :
77             <itemizedlist>
78                 <listitem>Si elle y parvient, au moins pour la partie initiale de
79                     <varname>str(i)</varname>, la valeur numérique décimale
80                     correspondante est enregistrée dans <varname>d(i)</varname>.
81                     Si d'autres caractères suivent la partie initiale interprétée
82                     de <varname>str(i)</varname>, ils sont alors ignorés et
83                     sont indiqués dans <varname>tails(i)</varname> ; sinon,
84                     <varname>tails(i)</varname> retourne "".
85                 </listitem>
86                 <listitem>
87                     Si aucun nombre décimal n'est reconnu, <varname>d(i)</varname>
88                     retourne <literal>%nan</literal>, et <varname>tails(i)</varname>
89                     retourne <varname>str(i)</varname>.
90                 </listitem>
91             </itemizedlist>
92         </para>
93         <warning>
94             <itemizedlist>
95                 <listitem>
96                     Nombres complexes : <function>strtod(..)</function> reconnaît
97                     et retourne uniquement leur partie réelle (pour peu qu'elle
98                     soit écrite avant la partie imaginaire). Les symboles "i" ou
99                     "j" ne sont pas reconnus.
100                 </listitem>
101                 <listitem>
102                     <function>strtod(..)</function> ne reconnaît aucun séparateur
103                     de milliers ou de millièmes, ni " ", ni "," ni aucun autre.
104                 </listitem>
105                 <listitem>
106                     Seuls les nombres représentés en base 10 sont recherchés par
107                     <function>strtod(..)</function>. Les nombres représentés
108                     en binaire, octal, hexadécimal ou autre base de numération
109                     ne sont pas reconnus.
110                 </listitem>
111                 <listitem>
112                     <function>strtod(..)</function> ne reconnaît le nom d'aucune
113                     variable numérique prédéfinie de Scilab ou de l'utilisateur,
114                     ni aucune représentation de <literal>%inf</literal>.
115                     Ainsi aurons-nous :
116                     <programlisting role="example"><![CDATA[
117 s = ["-0.034" "- 0.034"  "+1234.5678" "1234 5678"
118      "-.764"  "+.432"    "12,231.7"   "-5.458,871"
119      "1e43"   "-3.5d-12" "-1.2+i"     "i+1.2"
120      ""       "%inf"     "Inf"        "-Inf"
121      "%i"     "%pi"      "%e"         "%eps"
122      "%F"     "0x19B"    "#14C4"      "o5745"
123      ]
124 strtod(s)
125 ]]>             </programlisting>
126                     <screen><![CDATA[  s  =
127 !-0.034  - 0.034   +1234.5678  1234 5678   !
128 !-.764   +.432     12,231.7    -5.458,871  !
129 !1e43    -3.5d-12  -1.2+i      i+1.2       !
130 !        %inf      Inf         -Inf        !
131 !%i      %pi       %e          %eps        !
132 !%F      0x19B     #14C4       o5745       !
133
134 --> strtod(s)
135  ans  =
136   -0.034       Nan         1234.5678   1234.
137   -0.764       0.432       12.        -5.458
138    1.000D+43  -3.500D-12  -1.2         Nan
139    Nan         Nan         Nan         Nan
140    Nan         Nan         Nan         Nan
141    Nan         0.          Nan         Nan
142 ]]></screen>
143                 </listitem>
144                 <listitem>
145                     <function>strtod(..)</function> n'interprète aucun caractère
146                     spécial protégé tel que <literal>"\n"</literal> ou
147                     <literal>"\t"</literal>, etc.
148                 </listitem>
149                 <listitem>
150                     Cette fonction est basée sur sa version existante en langage C,
151                     laquelle se comporte différemment sous Windows et sous Linux :
152                     Sous Windows, les caractères "d" ou "D" peuvent indifféremment
153                     être utilisés pour les exposants.
154                 </listitem>
155             </itemizedlist>
156         </warning>
157     </refsection>
158
159     <refsection role="examples">
160         <title>Exemples</title>
161         <programlisting role="example"><![CDATA[
162 s = ["123.556 abc " ".543"      "#58B" "0x73 " "%inf"
163      "-1.47e-71"    "67,432.57" " 23,5" "-,57" "Inf" ]
164 [num, trail] = strtod(s);
165 num, "/"+trail+"/"
166
167 // Avec "," comme séparateur décimal :
168 [num, trail] = strtod(s, ",");
169 num, "/"+trail+"/"
170  ]]></programlisting>
171     </refsection>
172     <refsection role="see also">
173         <title>Voir aussi</title>
174         <simplelist type="inline">
175             <member>
176                 <link linkend="evstr">evstr</link>
177             </member>
178             <member>
179                 <link linkend="isnum">isnum</link>
180             </member>
181             <member>
182                 <link linkend="isdigit">isdigit</link>
183             </member>
184             <member>
185                 <link linkend="bin2dec">bin2dec</link>
186             </member>
187             <member>
188                 <link linkend="oct2dec">oct2dec</link>
189             </member>
190             <member>
191                 <link linkend="hex2dec">hex2dec</link>
192             </member>
193         </simplelist>
194     </refsection>
195     <refsection role="history">
196         <title>Historique</title>
197         <revhistory>
198             <revision>
199                 <revnumber>5.5.0</revnumber>
200                 <revremark>
201                     Introduction de l'option "decimalseparator" (SEP 97).
202                 </revremark>
203             </revision>
204             <revision>
205                 <revnumber>5.4.1</revnumber>
206                 <revremark>
207                     Si <varname>str(i)</varname> ne représente aucune valeur numérique,
208                     <varname>d(i)</varname> vaut désormais <literal>Nan</literal>
209                     au lieu de <literal>0</literal>.
210                 </revremark>
211             </revision>
212         </revhistory>
213     </refsection>
214 </refentry>