近代我國一些地方流傳,小年「官三民四船五」。今天是農曆臘月廿四,是南方部分地區的小年。小年,別稱祭灶節、灶王節、掃塵日,是中國的傳統節日。通常被視為忙年的開始,意味著人們開始準備年貨、掃塵、祭灶等,準備乾乾淨淨過個好年,表達了人們一種辭舊迎新、迎祥納福的美好願望。
在這美好的時刻,一起來學習製作一個簡易的測量程序——度數轉換器。
在地形測量、工程測量及控制測量中,需要進行一些簡單的計算,如交會定點計算、三角高程計算、單導線簡易平差計算等。在這些計算中都會遇到角度及相關計算。角度的表現形式主要有度分秒(° ′ ″)格式、度(°)格式以及弧度格式。其中度格式還可分為10進位與60進位。此次先來學習度分秒格式與度格式之間的轉化。
要描述一個角度,至少需要兩個屬性:角度大小及表現形式。程序需要實現度分秒與度之間相互轉化,並且使用方便。
度數的進位有十進位及六十進位。進位不同,度數顯示略有不同。六十進位可以簡單的理解為直接去掉度分秒的符號,在度數後面加一個小數點;十進位的需要通過度分秒轉化,1°=60′,1′=60″。
不同進位轉換需要用到字符串分割函數。
在度分秒格式中,通常會遇到個位數的部分,例如120°06′00″在六十進位中存在將『6』前面的『0』字符捨去的情況,需要利用函數避免被捨去;也存在『6』後面的『0』字符多餘展示,也需要函數進行預設。
在角度轉換過程中存在結果為無理數的情況,可在保證精度的前提下利用函數進行取捨。
整理好思路,便可付之行動。打開VS,新建一個窗體工程。在工程中按照需要在工具箱中找到相應的控制項並修改名稱。無論是度轉換為度分秒還是度分秒轉換為度,都需要一個按鈕去實現:
private void button1_Click(object sender, EventArgs e)在編程過程中數據格式多樣,譬如字符串格式與整型格式及浮點型格式等轉換,可以進行顯性或隱性的轉化:
(int)m; Convert.ToDouble(s) Convert.ToString(d)轉化為六十進位,分的位置會出現預設,需要利用以下函數。「Left」即是左,用『0』補左邊的預設,同理「Right」即為右;在秒的位置會出現多餘的『0』,利用以下函數可預設。
textBox4.Text.PadLeft(2,'0') char[] chars2Trim= { '0' }; kk2 = k2.Trim(chars2Trim);轉化為十進位需要截取字符串,該函數有兩個變量,起始位置及截取長度:
string m = textBox2.Text.Substring(textBox2.Text.IndexOf('.')+1, 2);需要四捨五入時會用到以下函數:
string ss = s.ToString("f4");為防止輸入框為空時,運行無效,可對轉換按鈕設置是否可用:
button3.Enabled = false ;編輯及美工:TechnoGeek