[R] Tri de tableau contenant des nombres
Posté : jeu. 31 déc. 2015 11:20
Bonjour,
Je récupère des numéros de version de la forme (xx.x.xx) d'une page internet que je stocke dans un tableau.
Lorsque j'effectue un tri, les valeurs 11, 12, ... sont stockées après le 1 et avant le 2.
L'utilisation de la fonction Number ne résoud pas le problème.
Ce qui est étonnant c'est que ce code, lui, fonctionne correctement :
Je récupère des numéros de version de la forme (xx.x.xx) d'une page internet que je stocke dans un tableau.
Lorsque j'effectue un tri, les valeurs 11, 12, ... sont stockées après le 1 et avant le 2.
L'utilisation de la fonction Number ne résoud pas le problème.
Code : Tout sélectionner
Local $sPattern = '(?i)<td><a href=".*?/">(\d+)\.(\d\.?\d*)/</a></td>'
Local $oIE = _IECreate($sUrl, 0, 0); Fenêtre invisible
Local $sHTML = _IEBodyReadHTML($oIE)
Local $aArray = StringRegExp($sHTML, $sPattern, 3)
If @error = 0 Then
Local $aVersions[0][3]
; Tri des versions en créant deux tableaux
Local $iVersion = 0
;~ Local $aSubVersions[0]
For $i = 0 To UBound($aArray) - 1 Step 2
_ArrayAdd($aVersions, Number($aArray[$i]))
;~ $aSubVersions = StringSplit($aArray[$i + 1], ".", $STR_NOCOUNT)
;~ If @error = 1 Then
;~ $aVersions[$iVersion][1] = Number($aArray[$i + 1])
;~ Else
;~ $aVersions[$iVersion][1] = Number($aSubVersions[0])
;~ $aVersions[$iVersion][2] = Number($aSubVersions[1])
;~ EndIf
$iVersion += 1
Next
_ArrayColDelete($aVersions, 2)
_ArrayColDelete($aVersions, 1)
_ArrayDisplay($aVersions)
_ArraySort($aVersions)
_ArrayDisplay($aVersions)
EndIfCode : Tout sélectionner
Local $aArray[0]
_ArrayAdd($aArray,Number("7"))
_ArrayAdd($aArray,Number("33"))
_ArrayAdd($aArray,Number("10"))
_ArrayAdd($aArray,Number("2"))
_ArrayDisplay($aArray)
_ArraySort($aArray)
_ArrayDisplay($aArray)