Randomize

Signaler
Messages postés
287
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
18 janvier 2004
-
Messages postés
287
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
18 janvier 2004
-
Bonjour
Voilà, je voudrais savoir si, avec Randomize, faire un nombre qui corresponde à la valeur d'un slider
example:
mon slider marque 5, donc il me fait un nombre à 5 entiers et 5 décimales, comme 12345,78912

@+
Vbsupernul (tout le monde le sait maintenant... c'est malin :sad) )

8 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Il me semble que rené ou moustachu t'avais répondu quelque temps auparavant non ?
En tout cas pour faire un nombre entier.
Pour faire un nombre décimal, il te suffit de remplacer les puissances de 10 par des puissances négatives 10^-1, 10^-2 etc.

DARK SIDIOUS
0
Messages postés
287
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
18 janvier 2004

Ben oui, rene38 m'a répondu pour les entiers. Mais si je rajoute les puissances négatives tel quelles, y m'insulte (enfin, un message d'erreur quoi)...
Quelqu'un pourrait il assembler les 2 codes please, je craque :sad)

@+
Vbsupernul (tout le monde le sait maintenant... c'est malin :sad) )
0
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Dim c As Integer
c = Slider1.Value
Randomize Timer
P_ent = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
Randomize Timer
P_dec = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
P_dec = P_dec * 10 ^ (-c)
nombre = P_ent + P_dec
0
Messages postés
287
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
18 janvier 2004

Merci rene38, mais si on met par example 10, les décimales sont arrondies :(
@+
Vbsupernul (à force de poster des sos, je vais finir par devenir moins nul :clown)
0
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
As-tu réellement besoin d'un NOMBRE (à utiliser dans des calculs) ou veux-tu simplement l'afficher ?
Dans ce dernier cas, tu fais :

Dim c As Integer, Result As String
c = Slider1.Value
Randomize Timer
P_ent = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
Randomize Timer
P_dec = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
Result = Format(P_ent, String(c, 48)) & "," & Format(P_dec, String(c, 48))

Sinon, j'ai peur que ce soit difficile : VB limite l'affichage d'un nombre à 15 chiffres ; s'il y en a 10 dans la partie entière, il ne reste que 5 chiffres à afficher dans la partie décimale.
0
Messages postés
287
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
18 janvier 2004

Pour calculer...
Ms j'ai fait du bidouillage et ça marche ;)

c = difficulte.Value
Randomize Timer
P_ent = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
Randomize Timer
P_dec = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
P_dec = P_dec * 10
nombre = P_ent & "," & P_dec

Et en + ça marche :big)
@+
Vbsupernul (à force de poster des sos, je vais finir par devenir moins nul :clown) )
0
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
'EUREKA !
'La fonction CDec permet de convertir un nombre en type DECIMAL, avec possibilité d'afficher 28 chiffres. D'où :

Slider1.Min = 1
Slider1.Max = 14
Dim c As Integer, P_ent, P_dec, nombre
Randomize Timer
c = Slider1.Value
P_ent = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
Randomize Timer
P_dec = Int(Rnd * 9 * 10 ^ (c - 1) + 10 ^ (c - 1))
P_dec = P_dec * 10 ^ -c
nombre = CDec(P_ent) + CDec(P_dec)
Text1.Text = Format(nombre, "## ### ### ### ###.### ### ### ### ##")
0
Messages postés
287
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
18 janvier 2004

Merci ;)
Qqun sait si c'est possible de modifier le contenu d'une sub depuis une autre sub (dire que le contenu d'une sub c le contenu d'un textbox)?
(j'ai déjà eu une réponse, mais au cas ou ;) ....

@+
Vbsupernul (à force de poster des sos, je vais finir par devenir moins nul :clown) )
0