【入門級】-[資料型別]-資料型別轉換

閱讀時間約 6 分鐘
當我們在撰寫程式過程中,有可能會遇到在做資料處理時與一開始宣告的資料型別不一樣,這時就會需要資料型別轉換了。那這邊有四種轉換介紹:

一、自動轉型

運算過程中在精確度不會改變時,程式就會自動幫我們做轉型處理,什麼意思呢?就是小範圍可以放入大範圍中,但大範圍無法放入小範圍去做運算。還是不懂?沒關係這邊用例子來說明:
正常處理:
double A = 120;
double B;
B = A + 3.45;
A = B * 2;
說明:
第一行:宣告倍精度浮點數A,且初始值為120
第二行:宣告倍精度浮點數B,無特別設定初始值
第三行:(1)B的值要看"="右邊的值,也就是120+3.45=123.45
    (2)得知B為123.45

第四行:(1)A的值要看"="右邊的值,也就是B*2
    (2)這個B值呢!是看最後的結果也就是123.45
    (3)因此B*2 = 123.45 * 2 = 246.9,得知A最後的值為246.9
遇到需要做轉換的狀況就會是:
int A = 120;
double B;
B = A + 3.45;
A = B * 2;
說明:
第一行:宣告整數A,且初始值為120
第二行:宣告倍精度浮點數B,無特別設定初始值
第三行:(1)運算結果是存到B,因此運算內容要與B的資料型別相同
    (2)由於B是double(倍精度浮點數),A是int(整數),int轉double是不會影響精確度的
    (3)因此A就會從int自動轉換為double型別後再做運算

第四行:(1)此時就不一樣了,運算結果是存到整數型別A
    (2)雖然運算內容”2”是整數沒問題,但B卻是倍精度浮點數
    (3)因此精確度是會被影響到,無論B的值是不是2.0000這樣的數值,電腦都會出現錯誤
只要「運算結果的資料型別」可以容納的下「運算內容的資料型別」範圍,電腦就可以暫時再那一行運算當中做自動轉換型態的動作。

二、明確轉型

有一個Type Cast的方法可以強行轉換資料型別,方法:
結果值 = (想要強迫轉換的型別)運算式 或 變數名稱;
這邊舉個例子:
int A;
double B = 3.14;
A = (int)B;
由於B是double而A是int,要將B的值給予A但型別不符,因此使用A的型別將B強制轉換為int,此時A的結果為3。
因為是強制轉換關係,因此會遺失小數點後面的值,所以在使用的時候要注意。

三、Parse方法

若遇到文字型別的數字,想要將它轉為數值時,就可以使用Parse()方法來轉換,方法:
數值變數 = 資料型別.Parse(文字型別的數字);
什麼是文字型別的數字?就是
string C = ”66”;
像這樣的形式就是文字型別的數字,string是字串型別可以加入文字的,但也會接收到有關數字的時候,倘若說字串中只有數字時想要轉為數值就可以使用Parse()方法若字串中有非數字時可能轉換時就會出現錯誤唷
用上面例子舉例就會是:
Int D = int.Parse(“66”);

四、轉換成字串

1.自動轉換

由於有時候在使用VC#時會用到工具箱的Label元件,那麼此時想要將一些數字轉成文字型態就可以這麼做:
string msg = ”今年是”;
int year = 2023;
Label.Text = msg + year;
那麼Label.Text會因為”+”號而將兩者做串接,輸出結果就為「今年是2023」這樣的字串,那麼year也會在這當中暫時自動轉換為字串型別。

2.明確轉換

有時候查詢日期時間或是其他內容的時候就需要去做轉換的動作,那麼有兩種可以明確轉換方法就是:
(1)字串變數 = Convert.ToString(要轉換的資料 或 變數名稱);
(2)字串變數 = 要轉換的資料 或 變數名稱 .ToString();
舉例:
int A = 2023
string B = Convert.ToString(2023);
string BB = Convert.ToString(A);
string C = 2023.ToString();
string CC = A.ToString();

筆記補充:日期時間的轉換

1.取得當下時間

DateTime dtNow= DateTime.Now;
string S= dtNow.ToString("yyyy-MM-dd HH:mm:ss");
DateTime dt=Convert.ToDateTime(S);
說明:
(1)第一行是取得當下時間
(2)第二行是將資料字串格式化
yyyy-MM-dd是年月日部分
HH:mm:ss是時分秒數的部分(這邊的HH是24小時制,改成hh就為12小時制了)
(3)第三行是將字串轉回日期格式


2.時間差計算

DateTime dt1= Convert.ToDateTime("2023-03-29 00:00:00");
DateTime dt2= Convert.ToDateTime("2023-03-30 00:00:00");
TimeSpan ts = dt2- dt1;

double dDateDiff = ts.TotalDays;
label1.Text = "日期相差 " + Convert.ToInt32(dDateDiff).ToString() + "天";
int iDateDiff = ts.Days;
label2.Text = "日期相差 " + iDateDiff.ToString() + "天";
說明:
1.第一、二行是取得兩個時間
2.第三行是做相差運算,得知時間差距
3.第四、五行是使用.TotalDays來做處理,但是TotalDays是double型別,因此會有小數問題,故在做顯示的時候會將運算後的值強制轉成32位元的整數型態
4.第六、七行是使用.Days來做處理,由於Days為int型別,因此不會有小數問題,可直接做顯示沒有問題的。

參考內容:
1.Visual C# 2017基礎必修課
2.C# Date() 日期與時間
3.C# Tips: TimeSpan 的 TotalDays

即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
21會員
43內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
橙果杏的沙龍 的其他內容
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
這次分享的是常數、變數、宣告與初始化。 [常數]就是固定不變的數,如:PI=3.14 [變數]顧名思義就是會改變的數,如:y=2x (在數學中x確定後y才會確定,因此x為自變數,y為應變數,x、y都屬於變數) 一、常數   常數在定義的時候,一開始就必須指定好資料型別並且給予值,因為它在整個程式在執
這次分享資料形態中的資料型別部分,在VC#流程架構介紹中有提到它如同中文有不同的詞性,那C#程式中有哪些型別呢?我們就來看一看。 一、常用的資料型別 當然還有自訂義的型別這就要看怎麼定義了,之後看內容狀況再來提,那麼資料型態是為了要做宣告用途,告訴電腦你的資料是屬於什麼類別的,這樣在做後續資料時程式
這邊要來跟大家分享流程圖是什麼?它很重要嗎? 一、什麼是流程圖?   它可以幫我們簡化密密麻麻的程式,用圖表來說明這支程式運行的來龍去脈,包含著流程的步驟、決策、輸出/輸入的相關過程。   當我們在製作程式過程中,可以協助我們紀錄、規劃流程、甚至是介紹程式或未來自己要看的時候,流程圖就可以派上用場
一、Visual Studio是什麼?   Viusal Studio亦是Microsoft Visual Studio,簡稱VS或MSVS,它是微軟所開發的一個基本完整的開發工具,它有三個版本Community(社群版)、Professional(專業版)、Enterprise(企業版),
一、C#介紹 二、為什麼要學C# 三、.NET Framework介紹
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
這次分享的是常數、變數、宣告與初始化。 [常數]就是固定不變的數,如:PI=3.14 [變數]顧名思義就是會改變的數,如:y=2x (在數學中x確定後y才會確定,因此x為自變數,y為應變數,x、y都屬於變數) 一、常數   常數在定義的時候,一開始就必須指定好資料型別並且給予值,因為它在整個程式在執
這次分享資料形態中的資料型別部分,在VC#流程架構介紹中有提到它如同中文有不同的詞性,那C#程式中有哪些型別呢?我們就來看一看。 一、常用的資料型別 當然還有自訂義的型別這就要看怎麼定義了,之後看內容狀況再來提,那麼資料型態是為了要做宣告用途,告訴電腦你的資料是屬於什麼類別的,這樣在做後續資料時程式
這邊要來跟大家分享流程圖是什麼?它很重要嗎? 一、什麼是流程圖?   它可以幫我們簡化密密麻麻的程式,用圖表來說明這支程式運行的來龍去脈,包含著流程的步驟、決策、輸出/輸入的相關過程。   當我們在製作程式過程中,可以協助我們紀錄、規劃流程、甚至是介紹程式或未來自己要看的時候,流程圖就可以派上用場
一、Visual Studio是什麼?   Viusal Studio亦是Microsoft Visual Studio,簡稱VS或MSVS,它是微軟所開發的一個基本完整的開發工具,它有三個版本Community(社群版)、Professional(專業版)、Enterprise(企業版),
一、C#介紹 二、為什麼要學C# 三、.NET Framework介紹
你可能也想看
Google News 追蹤
Thumbnail
Hi 我是 VK~ 在 8 月底寫完〈探索 AI 時代的知識革命:NotebookLM 如何顛覆學習和創作流程?〉後,有機會在 INSIDE POSSIBE 分享兩次「和 NotebookLM 協作如何改變我學習和創作」的主題,剛好最近也有在許多地方聊到關於 NotebookLM 等 AI 工具
Thumbnail
國泰CUBE App 整合外幣換匯、基金、證券等服務,提供簡便、低成本的美股定期定額投資解決方案。 5分鐘開戶、低投資門檻,幫助新手輕鬆進軍國際股市;提供人氣排行榜,讓投資人能夠掌握市場趨勢。
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
Thumbnail
🎗️本次主題成果展示:人力資訊分析 上集回顧 🔗EXCEL儀表板 | 人力資訊分析儀表板 #1 | 上手等級:入門🔗 🔗EXCEL儀表板 | 人力資訊分析儀表板 #2 | 上手等級:入門🔗 ♐人力資訊儀表板分集 本次人力資訊儀錶板預計分成5集依循漸進逐步完成 資料整
Thumbnail
🎗️本次主題成果展示:人力資訊分析 上集回顧 🔗EXCEL儀表板 | 人力資訊分析儀表板 #1 | 上手等級:入門🔗 ♐人力資訊儀表板分集 本次人力資訊儀錶板預計分成5集依循漸進逐步完成 資料整理與人力資訊取得 區域樞紐分析+環圈圖 (本集教學) 性別樞紐分析+圖像
Thumbnail
EXCEL設計新思維,即日起新增了一個新的房間【EXCEL儀表板】,什麼是EXCEL儀表板呢? Excel 儀表板是一種視覺化工具,用於展示和分析數據,幫助用戶快速理解和決策。以下是Excel儀表板的主要特點和功能簡介: 特點 視覺化展示: 使用圖表、圖形和表格來直觀展示數據。 常見的圖
Thumbnail
《持續買進》用淺顯易懂的方式搭配豐富的圖表帶領讀者可以很簡單的梳理一些基礎的投資理財觀念,也可以從中獲得一些個人財務價值觀的啟發,蠻適合做為簡單入門的投資理財書籍,本篇用簡單摘要的方式分享書中提出的觀念給大家。
Thumbnail
在MC的QuoteManager中,可以讓使用都新增自己的數據源,使用者可在QuoteManager的「工具」選單中,點選「數據源」,進行自己所要接收的數據源。 在數據源的設定視窗中,列出目前提供的數據源種類,往下捲動,找到「Universal DDE」這個類型後,再按下「設定」的按鈕。 在通用
Thumbnail
Kawasaki Ninja 400被譽為是入門級運動機車市場的王者,以其卓越的性能和獨特的外觀設計在市場上獲得了極高的評價。這款車在2018年正式發布,它的創新設計和卓越性能在運動機車愛好者中引起了巨大的迴響。 首先,Kawasaki Ninja 400的外觀設計非常吸引人。它採用了全新的造型設計
Thumbnail
前言 Adyen是荷蘭的一家支付企業,2006年創立,起初主要為大型企業提供支付服務(To-B),包括Uber, eBay, Netflix及Spotify等。顧客可以於線上、Apps、實體店,用他們慣用的支付方式完成交易。 價值主張 (WHO you are? Business Aim?) Mis
Thumbnail
前言 這次是以新框架重新寫一次中信國際電訊 (業務核心邏輯、收入模型、業務資源及投資論點都是重點部分),及做了一系列業務補充。中信國際電訊為澳門電訊業壟斷市場參與者,近年大力發展企業業務及海外業務。準確來說中信國際電訊不止是營運商,更是批發商,因為所有澳門電訊公司要做生意就需要用澳門電訊(子公司)的
Thumbnail
前言 VISA是本Blog第一支分析的美股,研究結構會以上一篇文章 (Source: 【周末輕鬆D】研究公司,究竟是要看那個地方?)進行。這屬於公司研究的第2步 (第1步是行業分析),下一步就會開始進行財務分析及估值。 開始之前,如果大家希望更易理解VISA的商業模型,建議先看支付行業分析 (【行行
Thumbnail
現實世界有2種東西是價錢又貴又浪費金錢,但又絕對不可以不買,便是女人包包及小朋友物品(你點慳都一定要買)。亦代表,好多好公司亦會係呢個行業出現。 如果各位讀者已為人父人母,就一定聽過VTech呢個牌子。VTech其實是一個學習玩具牌子。那VTech是屬於零售行業? 除左賣玩具還有其他業務? 間公司
Thumbnail
Hi 我是 VK~ 在 8 月底寫完〈探索 AI 時代的知識革命:NotebookLM 如何顛覆學習和創作流程?〉後,有機會在 INSIDE POSSIBE 分享兩次「和 NotebookLM 協作如何改變我學習和創作」的主題,剛好最近也有在許多地方聊到關於 NotebookLM 等 AI 工具
Thumbnail
國泰CUBE App 整合外幣換匯、基金、證券等服務,提供簡便、低成本的美股定期定額投資解決方案。 5分鐘開戶、低投資門檻,幫助新手輕鬆進軍國際股市;提供人氣排行榜,讓投資人能夠掌握市場趨勢。
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
Thumbnail
🎗️本次主題成果展示:人力資訊分析 上集回顧 🔗EXCEL儀表板 | 人力資訊分析儀表板 #1 | 上手等級:入門🔗 🔗EXCEL儀表板 | 人力資訊分析儀表板 #2 | 上手等級:入門🔗 ♐人力資訊儀表板分集 本次人力資訊儀錶板預計分成5集依循漸進逐步完成 資料整
Thumbnail
🎗️本次主題成果展示:人力資訊分析 上集回顧 🔗EXCEL儀表板 | 人力資訊分析儀表板 #1 | 上手等級:入門🔗 ♐人力資訊儀表板分集 本次人力資訊儀錶板預計分成5集依循漸進逐步完成 資料整理與人力資訊取得 區域樞紐分析+環圈圖 (本集教學) 性別樞紐分析+圖像
Thumbnail
EXCEL設計新思維,即日起新增了一個新的房間【EXCEL儀表板】,什麼是EXCEL儀表板呢? Excel 儀表板是一種視覺化工具,用於展示和分析數據,幫助用戶快速理解和決策。以下是Excel儀表板的主要特點和功能簡介: 特點 視覺化展示: 使用圖表、圖形和表格來直觀展示數據。 常見的圖
Thumbnail
《持續買進》用淺顯易懂的方式搭配豐富的圖表帶領讀者可以很簡單的梳理一些基礎的投資理財觀念,也可以從中獲得一些個人財務價值觀的啟發,蠻適合做為簡單入門的投資理財書籍,本篇用簡單摘要的方式分享書中提出的觀念給大家。
Thumbnail
在MC的QuoteManager中,可以讓使用都新增自己的數據源,使用者可在QuoteManager的「工具」選單中,點選「數據源」,進行自己所要接收的數據源。 在數據源的設定視窗中,列出目前提供的數據源種類,往下捲動,找到「Universal DDE」這個類型後,再按下「設定」的按鈕。 在通用
Thumbnail
Kawasaki Ninja 400被譽為是入門級運動機車市場的王者,以其卓越的性能和獨特的外觀設計在市場上獲得了極高的評價。這款車在2018年正式發布,它的創新設計和卓越性能在運動機車愛好者中引起了巨大的迴響。 首先,Kawasaki Ninja 400的外觀設計非常吸引人。它採用了全新的造型設計
Thumbnail
前言 Adyen是荷蘭的一家支付企業,2006年創立,起初主要為大型企業提供支付服務(To-B),包括Uber, eBay, Netflix及Spotify等。顧客可以於線上、Apps、實體店,用他們慣用的支付方式完成交易。 價值主張 (WHO you are? Business Aim?) Mis
Thumbnail
前言 這次是以新框架重新寫一次中信國際電訊 (業務核心邏輯、收入模型、業務資源及投資論點都是重點部分),及做了一系列業務補充。中信國際電訊為澳門電訊業壟斷市場參與者,近年大力發展企業業務及海外業務。準確來說中信國際電訊不止是營運商,更是批發商,因為所有澳門電訊公司要做生意就需要用澳門電訊(子公司)的
Thumbnail
前言 VISA是本Blog第一支分析的美股,研究結構會以上一篇文章 (Source: 【周末輕鬆D】研究公司,究竟是要看那個地方?)進行。這屬於公司研究的第2步 (第1步是行業分析),下一步就會開始進行財務分析及估值。 開始之前,如果大家希望更易理解VISA的商業模型,建議先看支付行業分析 (【行行
Thumbnail
現實世界有2種東西是價錢又貴又浪費金錢,但又絕對不可以不買,便是女人包包及小朋友物品(你點慳都一定要買)。亦代表,好多好公司亦會係呢個行業出現。 如果各位讀者已為人父人母,就一定聽過VTech呢個牌子。VTech其實是一個學習玩具牌子。那VTech是屬於零售行業? 除左賣玩具還有其他業務? 間公司