TransWikia.com

Como converter latitude/longitude para Double em C#

Stack Overflow em Português Asked by Joaquim Caetano Teixeira on November 26, 2020

Estou com um problema, pois tenha uma variável do tipo string e preciso converter para o tipo double sem perder o “ponto”. Exemplo: string latitude = "-8.709006" ao converter seja igual a: -8.709006 Mas até então já fiz vários teste diferentes e nada.

string latitude = "-8.709006";
double lat = Double.Parse(latitude);
//Mas ele esta me trazendo: -8709006 e nao -8.709006

Já fiz de outra forma também mas não obtiver resultado:

string latitude = "-8.709006";
System.Globalization.CultureInfo cult = new System.Globalization.CultureInfo("en-US");
double lat = double.Parse(latitude, cult);
//Desta vez o resultado foi: -8,709006 e nao -8.709006

Como também tentei assim:

string latitude = "-8.709006";
    double lat = Double.Parse(latitude, System.Globalization.CultureInfo.InvariantCulture);
    //E o resultado foi: -8,709006 e nao -8.709006

One Answer

A conversão parece que está funcionando ok. Se você que mostrar em um formato específico você precisa especificar este formato:

using static System.Console;
using System.Globalization;
                    
public class Program {
    public static void Main() {
        WriteLine(double.Parse("-8.709006", CultureInfo.InvariantCulture).ToString(new CultureInfo("en-US", true)));
    }
}

Veja funcionando no ideone. E no .NET Fiddle. Também coloquei no GitHub para referência futura.

Answered by Maniero on November 26, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP