19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
semplice a me i dati arrivano:12341234.551.222,2355693,898.4444ho solo queste varianti, quando i decimali superano 4 le taglio
If s Like "*,*.?" Then Print else If s Like "*,*.??" Then Printelse If s Like "*,*.???" Thenprintelse If s Like "*,*.????" ThenprintEndif
Codice: [Seleziona]If s Like "*,*.?" Then Print else If s Like "*,*.??" Then Printelse If s Like "*,*.???" Thenprintelse If s Like "*,*.????" ThenprintEndifin questo modo dovrei risolvere, solo che se i decimali superano 4?mi possono capitare cifre sballate con decine o molte decine di decimali (sono quelle che mi davano errore di segmentazione)
no gianluigi ti eri spiegato benesono gli americani (e anche i nostrani) che danno problemi, un numero che arriva 3.456 oppure 0.123 è giusto come pure 0,456 o 0,123sono vecchi cataloghi da cui devo tirare i prezzi.quelli che creano casino sono:1,234.56 oppure 1.234,56, in pratica con un solo separatore va bene, con due le cose si complicanociao vuott
Vorrei capire una cosa: la parte frazionaria del gruppo di caratteri numerali ricevuti è composta sempre e solo da due cifre ?
quelli che creano casino sono:1,234.56 oppure 1.234,56, in pratica con un solo separatore va bene, con due le cose si complicano
Like "*.???,*"
Citazione da: dex - 15 Marzo 2019, 18:25:35Codice: [Seleziona]If s Like "*,*.?" Then Print else If s Like "*,*.??" Then Printelse If s Like "*,*.???" Thenprintelse If s Like "*,*.????" ThenprintEndifin questo modo dovrei risolvere, solo che se i decimali superano 4?mi possono capitare cifre sballate con decine o molte decine di decimali (sono quelle che mi davano errore di segmentazione)Occorre stare molto attenti alle successioni dei pattern di ricerca.Ad esempio con questi pattern non rileveresti i numeri con più di 4 decimali, dovresti pertanto tagliare i numeri prima di usare i pattern.Questo codice funzionerebbe bene se dovessi convertire solo numeri americani fino a 9,999 e con massimo 4 decimali, ma con numeri mischiati cambierebbe anche quelli giusti tipo 3.456 (tremila quattrocentocinquantasei) in 3,456 (tre virgola ...).Non so se riesco a spiegarmi.Quindi, come suggerivi prima, conviene fare un primo passaggio che rileva i numeri "italiani" e li cancella o cambia in modo che non diano fastidio e poi fare un secondo passaggio sui numeri "americani".
il problema è che molti cataloghi hanno per lo stesso articolo i prezzi in varie valute, e li mi tocca digitare a manina ed è estremamente noioso.
era su questa tua risposta che intendevo il casinoposso tagliare le stringhe a 4 decimali ma con quale criterio di ricerca?se uso il punto1,234.12345679 ecc diventa 1,234.1234 poi con replace tolgo la virgola ed è okma se mi arriva 1.234,123456789 diventa 1.234, ed è sbagliatousando la ricerca con la virgola avrei il problema inverso