Séparateur de millier

Contenu du snippet

Ce code, avec la commande /range N ( où N est un nombre ) permet de le ranger de la manière suivante : si je tape /range 1000000 celui-ci rendra dans le dialog le nombre suivant : 1|000|000 .
Si vous ne comprenez pas, utilisez le vous comprendrez vite.
Voilà, je pense avoir été clair, néanmoins un problème réside pour les nombres dépassant une vingtaine de caractères car j'ai fais ce code à l'arrache, et il n'est pas optimisé, il y a des variables temporaires partout mais bon je l'ai laissé tel quel car il fonctionnait pas mal.

Source / Exemple :


alias range {
  dialog -m range range
  var %x = $regex($1,/([0-9])/g) , %y = 1 , %g = 3 , %h = 1 , %f = 2 , %j = 1 , %k = -1 , %q = 0
  while ( %y <= %x ) { did -a range 1 $regml(%y) $+ . | inc %y  }
  dec %y 
  var %z = $did(range,1) , %w = $replace(%z,.,$chr(32)) , %xx = $replace(%w,$chr(32),-), %yy = $calc(%x / 3)
  var %a = $regex(%yy,^[0-9]+\.[0-5]+$) , %b = $regex(%yy,^[0-9]+\.[^0-5]+$) , %c = $regex(%yy,^[0-9]+\.[0-9]+$)
  $iif(%a == 0,$iif(%b == 1,did -ra range 1 $replace($gettok(%xx,1-2,45),-,),did -ra range 1 $replace($gettok(%xx,1-3,45),-,)),did -ra range 1 $replace($gettok(%xx,1,45),-,))
  if ( %a == 0 ) && ( %b == 0 ) {
    var %d = $calc(%x - 3)   
  while ( %g <= %d ) { inc %g 3 | inc %h 3 | did -a range 1 $chr(124) $+ $replace($gettok(%xx,%h $+ - $+ %g,45),-,) } }
  elseif ( %a == 0 ) && ( %b == 1 ) {
    var %e = $calc( %x - 2 ) 
  while ( %f <= %e ) { inc %f 3 | inc %q 3 | did -a range 1 $chr(124) $+ $replace($gettok(%xx,%q $+ - $+ %f,45),-,) } }
  elseif ( %a == 1 ) && ( %b == 0 ) {
    var %m = $calc( %x - 1 ) 
  while ( %j <= %m ) { inc %j 3 | inc %k 3 | did -a range 1 $chr(124) $+ $replace($gettok(%xx,%k $+ - $+ %j,45),-,) } }
}

dialog range {
  title "Rangement"
  size -1 -1 110 35
  option dbu
  edit "", 1, 5 5 100 9, read
  button "Fermer", 2, 30 19 50 12, ok
  button "Copier", 3, 5 19 20 12
  link "Contact", 4, 84 21 22 9
}

on *:dialog:range:sclick:*: {
  if ( $did = 3 ) { editbox -a $did(1) }
  if ( $did = 4 ) { run mailto:erikire13@hotmail.com }
}

Conclusion :


Copier le code et faites ALT+R dans votre script.
File=>New et coller le code.
Bonne utilisation :-)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.