Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Sringa file testo
giovedì 06 settembre 2012 - 21.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Visual Studio 2008
|
MySQL 5.5
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 6 set 2012 - 21:05
Ciao forum,
non riesco a vedere l'errore sulla composizione di una stringa, il codice che vi posto questo:
''---- Ultima riga ----
tmp = " " & "EF"
tmp = tmp & "" & CStr("" & TabOrdinante.Rows(0)("Codsiaemitt")).ToString().PadRight(5, Char.Parse(" "))
tmp = tmp & CStr("" & TabOrdinante.Rows(0)("Abi")).ToString().PadRight(5, Char.Parse(" "))
tmp = tmp & Format(DateTimePicker1.Value, "ddMMyy").ToString().PadRight(6, Char.Parse(" "))
If CStr("" & TabOrdinante.Rows(0)("Flusso")).Length.ToString() < 20 Then
tmp = tmp & CStr("" & TabOrdinante.Rows(0)("Flusso")).ToString().PadRight(20, Char.Parse(" "))
Else
tmp = tmp & CStr("" & TabOrdinante.Rows(0)("Flusso").Substring(0, 20)).ToString().PadRight(20, Char.Parse(" "))
End If
tmp = tmp & CStr("" & TabOrdinante.Rows(0)("CodiceSie")).ToString().PadRight(6, Char.Parse(" "))
tmp = tmp & CInt(idCount - 1).ToString().PadLeft(7, Char.Parse("0")) 'numero righe
tmp = tmp & ((((TotaleImporti).ToString()).Replace(",", "").Replace(".", "")).PadLeft(30, Char.Parse("0"))) 'Totale Importi
tmp = tmp & CInt(totRow + 1).ToString().PadLeft(7, Char.Parse("0")) 'numero righe
tmp = tmp & ("E").ToString().PadLeft(25, Char.Parse(" "))
wrf.WriteLine(tmp)
''---------------------
Compone questa stringa CON POSIZIONI A LUNGHEZZA FISSA:
EFXXXXXAAAAA170812FLUSSO BANCA 0000 00001130000000000000000000000161863820000793 E
il pezzo interessato è questo l'importo è 161863,82 000000000000000000000016186382 tra 0000113 e 0000793
Praticamente il codice funziona ma appena l'importo totale ha come decimali 2 zeri qusti non li scrive e quindi sposta di due posizioni la stringa in questo modo
se invecè l'importo è 161863,00 avviene questo
EFXXXXXAAAAA170812FLUSSO BANCA 0000 00001130000000000000000000000001618630000793 E
sposta verso destra l'importo di due posizioni eliminando i due zero così 000000000000000000000000161863
il problema è quà tmp = tmp & ((((TotaleImporti).ToString()).Replace(",", "").Replace(".", "")).PadLeft(30, Char.Parse("0"))) 'Totale Importi
non sò come risolvere
Grazie
Mau67
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
ven 7 set 2012 - 08:43
ciao.
se la variabile 'TotaleImporti' che usi nella composizione della stringa è di tipo double o decimal, allora puoi utilizzare questa:
tmp = tmp & (((TotaleImporti.ToString("N2")).Replace(",", "").Replace(".", "")).PadLeft(30, Char.Parse("0")))
mentre nel caso non lo è, utilizza questa:
tmp = tmp & (((cdbl(TotaleImporti).ToString("N2")).Replace(",", "").Replace(".", "")).PadLeft(30, Char.Parse("0")))
Cristian Barca
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
ven 7 set 2012 - 15:41
perfetto cristian grazie
ciao alla prossima
Mau67
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !