Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C#] Problema di conversione da String a Double

    Buonasera a tutti!
    Mi sto cimentando con il C# e ho un problema di conversione da String a Double.
    Ho una stringa del tipo "123.4567" e vorrei convertirla in Double. Con la funzione System.Convert.Double il punto svanisce, così mi ritrovo 1234567 che ovviamente non è quello che mi aspettavo. Se sostituisco il punto con la virgola nella stringa, allora non perdo la virgola nella conversione, ma ho problemi successivamente.
    Ho provato anche con la funzione Double.Parse() ottengo lo stesso risultato... eppure se faccio Double x = 1.3333; non ho errori di compilazione, mentre con Double x = 1,3333; si...
    Qualcuno mi può aiutare?! C'ho perso tutto il giorno!!

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Fai il replace del punto con la virgola al momento della conversione
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Sposto nel forum appropriato: Visual Basic e .NET Framework.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Grazie del suggerimento!
    In effetti era corretto utilizzare il System.Convert.ToDouble applicato alla stringa dopo aver fatto il replace, mi son fatto trarre in inganno dal fatto che la dichiarazione dei double si facesse con il punto se dichiaro esplicitamente il valore!
    Grazie dell'aiuto!

  5. #5
    Originariamente inviato da Spirtaat
    Grazie del suggerimento!
    In effetti era corretto utilizzare il System.Convert.ToDouble applicato alla stringa dopo aver fatto il replace, mi son fatto trarre in inganno dal fatto che la dichiarazione dei double si facesse con il punto se dichiaro esplicitamente il valore!
    Grazie dell'aiuto!
    Quando si hanno problemi del genere la prima cosa da fare è guardare ai regional setting della macchina, non sono sicuro ma in C++ esisteva una macro che si chiamava setlocal e permetteva di impostare i regional setting a livello di shell di processo, probabilmente esiste qualcosa anche in C#.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.