You are viewing a single comment's thread. Return to all comments →
my c# code
public static string timeInWords(int h, int m) { bool past30 = m > 30; int mins = past30 ? 60 - m : m; int hrs = past30 ? h + 1 : h; if (m == 0) return numberToWord(hrs, false) + " o' clock"; else if (past30) return numberToWord(mins, true) + " to " + numberToWord(hrs, false); else return numberToWord(mins, true) + " past " + numberToWord(hrs, false); } private static string numberToWord(int nos, bool isMinute) { List<string> ones = new List<string> { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; List<string> tens = new List<string> { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; StringBuilder time = new StringBuilder(); time.Clear(); if (isMinute) { if (nos == 15) time.Append("quarter"); else if (nos == 30) time.Append("half"); else if (nos < 10) { time.Append($"{ones[nos - 1]}"); } else if(nos < 20) { time.Append($"{tens[(nos % 10)]}"); } else if(nos == 20) { time.Append("twenty"); } else { time.Append($"twenty {ones[(nos % 20) - 1]}"); } if (nos != 15 && nos != 30) { if (nos == 1) time.Append(" minute"); else time.Append(" minutes"); } } else { if (nos < 10) time.Append($"{ones[nos - 1]}"); else time.Append($"{tens[(nos%10)]}"); } return time.ToString(); }
Seems like cookies are disabled on this browser, please enable them to open this website
The Time in Words
You are viewing a single comment's thread. Return to all comments →
my c# code