Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
1200
Tıklama
0
Öne Çıkarma
C# Derece Dakika cinsinden yazma nasıl?
B
5 yıl
Teğmen
Konu Sahibi

Arkadaşlar merhaba, ben sonucu 38.5541 derece değil de 38°33'14.76'' olarak almak istiyorum. Bu dönüşümü nasıl yaparım?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



Y
5 yıl
Yüzbaşı

number - Math.floor(number) ile yapılan hesaplarda küsurat hassasiyetinde sıkıntılar çıkıyor. Ben de stringe dönüştürerek ve .'yı bularak gittim.

public static void Main()
{
double number = 38.5541;
double fractionPart = getFractionPart(number);

double minute = Math.Floor(fractionPart); // 33 dakika
double seconds = getFractionPart(fractionPart); // 14.76 saniye
}

private static double getFractionPart(double number)
{
string sNumber = number.ToString();
int startIndex = sNumber.IndexOf('.');
string sFractionPart = sNumber.Substring(startIndex + 1, sNumber.Length - startIndex - 1);
return Convert.ToDouble(sFractionPart) * 60 / Math.Pow(10, sNumber.Length - startIndex - 1);
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.