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? |
Bildirim
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? |
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); } |