Oppure

Loading
26/10/09 20:09
carmines92
Sto studiando java a scuola e C# mi sembra quasi uguale... per questo faccio subito pratica e magari quello che mi serve trovo su google... ho molte guide tra cui AB...C# non so se la conosci però voglio fare subito pratica anche perchè io penso che se sai ragionare e sai fare gli algoritmi basta leggersi qualcosina per capire il tutto... :)
aaa
26/10/09 20:23
theprogrammer
Fino ad un certo punto ...

Ti consiglio nuovamente di studiare sui libri prima di avventurarti nella "pratica", altrimenti, e questa e' la dimostrazione, avrai bisogno sempre di chi ti spieghi le nozioni di "base" ... e non sempre lo troverai.
aaa
26/10/09 20:27
carmines92
oky grazie del consiglio ;) studierò sui libri, cercherò su google ecc... ;) grazie 1000
aaa
27/10/09 17:17
Il Totem
Read legge un carattere dallo standard input, ma restituisce un intero. Quindi tu non stai leggendo un intero, ma un carattere (questo è la causa del fraintendimento, anche se avresti dovuto leggere almeno la descrizione). Se il numero immesso è di più cifre, vengono lette le prime due come caratteri e i codici ascii corrispondenti posti in a e b; se il primo numero è di una cifra, comunque viene letto anche l'invio ed entrambe vengono inizializzate.
ReadLine, al contrario, legge una stringa terminata da un inivio, e questa può essere convertita in intero o in decimale.

Mi domando, tuttavia, perchè il programma ti si chiudesse all'inizio e non, invece, dopo l'aggiunta readline. Infatti, o lo hai eseguito da shell - ed in questo caso anche la prima volta sarebbe dovuto andare, visualizzando un risultato sbagliato - oppure lo hai eseguito dall'IDE o dal sistema operativo - ed in questo caso si sarebbe dovuto chiudere anche la seconda volta perchè non l'hai "fermato".

Colgo l'occasione per una domanda. In c#, la conversione con l'operatore parentesi (tipo) equivale al CType di VB.NET? Perchè in questo caso sarebbe meglio usare quello: Convert è piuttosto stupido e, ad esempio, non riesce a convertire in intero la stringa "1.000" (mille).
aaa
27/10/09 18:09
theprogrammer
Beh, Convert non e' proprio stupido ...

        Dim dblProvider As NumberFormatInfo

        dblProvider = New NumberFormatInfo
        dblProvider.NumberDecimalSeparator = ","
        dblProvider.NumberGroupSeparator = "."
        dblProvider.NumberGroupSizes = New Integer() {3}

        Dim v As Double

        v = Convert.ToDouble("1.000", dblProvider)
aaa
28/10/09 9:31
Il Totem
Postato originariamente da theprogrammer:

Beh, Convert non e' proprio stupido ...

        Dim dblProvider As NumberFormatInfo

        dblProvider = New NumberFormatInfo
        dblProvider.NumberDecimalSeparator = ","
        dblProvider.NumberGroupSeparator = "."
        dblProvider.NumberGroupSizes = New Integer() {3}

        Dim v As Double

        v = Convert.ToDouble("1.000", dblProvider)


Emh... già, mi ero scordato del provider, ma tu stai convertendo in double, e non in intero. E comunque ho controllato, l'operatore di cast () si rifiuta di convertire stringhe in interi, forse perchè si tratta di parsing e non di proiezione. Quindi non esiste qualcosa di simile al CType, che effettua comunque la conversione anche da stringa e anche comprendendo tutti i separatori decimali e di migliaia?
Dim I As Int32 = CType("76.000,56", Int32) '>76001
aaa