Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Equivalente di sprintf(
Forum - C# / VB.NET - Equivalente di sprintf("%08s",decbin(hexdec($byte))) in VB.NET

Avatar
lucky (Member)
Rookie


Messaggi: 32
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 19:08
Lunedì, 25/10/2010
Domanda prettamente teorica: mi ritrovo una riga in uno script php nella quale trovo scritto come da titolo: riesco ,diciamo, ad emulare in VB.NET la 's' ma dovrei ottenere come risultato una stringa che abbia anche se più corta di 8 caratteri degli '0' all'inizio.Mi spiego meglio: converto in numero da hex a dec, converto il decimale in binario, lo scrivo e se è più corto di 8 devo mettere prima del numero binario tanti '0' quanto 8-lunghezza.
Come lo faccio?

PM
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Up
2
Down
V
Segnala al moderatore
Postato alle 23:25
Lunedì, 25/10/2010
Molto banalmente
-controllo la lunghezza
-aggiungo gli zeri necessari
-aggiungo il numero di partenza

in VB.net:
Codice sorgente - presumibilmente VB.NET

  1. Dim lunghezza As Integer = Len(Cstr(num_binario))
  2. Dim risultato As String = ""
  3. For i = 1 To 8 - lunghezza
  4.     risultato += "0"
  5. Next
  6. risultato += numero



Ultima modifica effettuata da walker93 il 25/10/2010 alle 23:26


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 17:27
Mercoledì, 27/10/2010
Stringa.PadLeft(8, "0")


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM