⑴ C語言中不同數據類型的數據在運算時採用的規則有哪些
不同數據類型之間的轉換有2種方式:隱式轉換和顯式轉換。
隱式轉換指的是默認做的一些轉換式,比如整形和實型做混合運算(這里我說的運算是合法的運算,不會是取余這樣對操作數有數據類型要求的運算),得到的結果是自動由精度低的或佔位數低的數據類型向高的數據類型做轉換,也就是上述問題得到的結果是實型。
顯示轉換:指的是使用強制類型轉換運算符來進行強制的結果類型轉換,這是人為的得到想要的類型的一種方法。
你所描述的不同數據類型的數據在運算時,採取的多是隱式轉換。
⑵ 數字類型轉換函數有哪些
下面常用的庫函數供參考。實際使用時根據需要可以自己來定義實現函數。
# include <stdlib.h>
1 double atof(const char *str)
把參數 str 所指向的字元串轉換為一個浮點數(類型為 double 型)。
2 int atoi(const char *str)
把參數 str 所指向的字元串轉換為一個整數(類型為 int 型)。
3 long int atol(const char *str)
把參數 str 所指向的字元串轉換為一個長整數(類型為 long int 型)。
4 double strtod(const char *str, char **endptr)
把參數 str 所指向的字元串轉換為一個浮點數(類型為 double 型)。
5 long int strtol(const char *str, char **endptr, int base)
把參數 str 所指向的字元串轉換為一個長整數(類型為 long int 型)。
6 unsigned long int strtoul(const char *str, char **endptr, int base)
把參數 str 所指向的字元串轉換為一個無符號長整數(類型為 unsigned long int 型)。
⑶ C#編程語言中,數據類型之間的轉換有哪些
(1) 隱式轉換:一般是低類型向高類型轉化,能夠保證值不發生變化。 隱式數值C#數據類型轉換: 從sbyte 到 short、int、long、float、double 或 decimal。 從byte 到 short、ushort、int、uint、long、ulong、float double 或 decimal。 從short 到 int、long、float、double 或 decimal。 從ushort 到 int、uint、long、ulong、float、double 或 decimal。 從int 到 long、float、double 或 decimal。 從uint 到 long、ulong、float、double 或 decimal。 從long 到 float、double 或 decimal。 從ulong 到 float、double 或 decimal。 從float 到 double。 不存在向 char 類型的隱式轉換,因此其它整型的值不會自動轉換為 char 類型。 浮點型不能隱式地轉化為decimal型 隱式枚舉轉換 隱式枚舉轉換允許將十進制整數 0 轉換為任何枚舉類型。 隱式引用轉換 派生類向基類轉換 隱式引用轉換是指一類引用類型之間的轉換,這種轉換總是可以成功,因此不需要在運行時進行任何檢查。 裝箱轉換 裝箱轉換允許將值類型隱式轉換為引用類型。 (2) 顯示轉換:也稱強制類型轉換。不能保證數據的正確性。 (type)(表達式) (3) 用戶自定義C#數據類型轉換 所有的用戶自定義轉換都是靜態的,要使用static關鍵字 用戶自定義轉換分顯示和隱示,它們用implicit(隱式轉換)或 explicit(顯示轉換)關鍵字聲明。 static 訪問修辭符 轉換修辭符 operator 轉換類型(參數) C#數據類型轉換示例:using System; struct Number { private int value; public Number(int value) { this.value=value; } //用戶自定義整型到Number型的隱式轉換 static public implicit operator Number(int value) { return new Number(value); } //用戶自定義從Number型到整型的顯示轉換 static public explicit operator int(Number n) { returnn.value; } //用戶自定義從Number類型到string類型的隱式轉換 static public implicit operator string(Number n) { returnn.ToString(); } } class Test { static public void Main() { Number n; n=10; Console.WriteLine((int)n); //隱式轉換到string Console.WriteLine(n); } } 使用System.Convert類 將一個基本數據類型轉換為另一個基本數據類型。 使用Parse方法 大部份預定義值類型都有這個靜態方法,用來將相應的文本轉化為相應的值類型。裝箱和取消裝箱 裝箱和取消裝箱使值類型能夠與 object 類型相互轉換。 裝箱轉換允許將「值類型」隱式轉換為「引用類型」。將「值類型」的值裝箱的操作包括:分配一個對象實例並將「值類型」的值復制到該實例中。 C#數據類型轉換示例: 此例將整數變數 i 通過裝箱轉換為對象 o。此例顯示對象保留了內容的原始副本,即 123。using System; class TestBoxing { public static void Main() { int i=123; object o=i;//隱式的裝箱 i=456;//改變變數i的值 Console.WriteLine("Thevalue-typevalue={0}",i);//456 Console.WriteLine("Theobject-typevalue={0}",o);//123是i的復制值 } } 取消裝箱轉換:取消裝箱轉換允許將引用類型顯式轉換為值類型。 取消裝箱操作包括以下兩個步驟:首先檢查該對象實例是否是某個給定的值類型的裝了箱的值,然後將值從實例中復制出來。 C#數據類型轉換示例: 下面的示例闡釋無效取消裝箱的情況,即錯誤的取消裝箱如何導致 InvalidCastException。通過使用 try 和 catch,發生錯誤時會顯示錯誤信息。 usingSystem; public class UnboxingTest { public static void Main() { int intI=123; object o=intI;//裝箱 try { //取消裝箱無效,short不是裝了箱的值類型.檢查該對象實例是否是某個給定的值類型的裝了箱的值int intJ=(short)o; Console.WriteLine("UnboxingOK."); } catch(InvalidCastException e) { Console.WriteLine("{0}Error:Incorrectunboxing.",e); } } } 其它轉換用運算符 as as 運算符用於執行引用類型的顯式類型轉換。 如果要轉換的類型與指定類型兼容,轉換就會成功;如果類型不兼容,則返回null。 表達式as 類型 as 運算符類似於類型轉換,所不同的是,當轉換失敗時,as 運算符將返回null,而不是引發異常。 示例: object o1=」SomeString」; object o2=5; string s1=o1asstring;//類型兼容s1=」SomeString」 string s2=o2asstring;//s2=null is is 運算符用於檢查對象的類型是否與給定類型兼容(對象是該類型,或是派生於該類型)。 表達式 is 類型 示例: int i=10; if(iisobject)//true {} sizeof sizeof 運算符用於獲得值類型的大小(以位元組為單位)。 sizeof(type) sizeof 運算符僅適用於值類型,而不適用於引用類型。 sizeof 運算符僅可用於 unsafe 模式。
⑷ 資料庫中轉換數據類型的幾種方法
oracle有三種最基本的數據類型,即字元型、數值型、日期型。 (注意需要起別名的地方要起別名)
oracle提供的單行函數中,針對不同的數據類型,提供大量實用的函數,同時提供一系列數據類型轉換函數,如下:
sql.append(" select CURVE_NAME,S_YEAR_LIMIT,AVERAGE_VALUE,to_char(d_date,'yyyy-MM-dd') d_date from t_treasury_yield_curve t where d_date = to_date ('"+d_date+"','yyyy-MM-dd')");
24 小時的形式顯示出來要用 HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from al;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from al;to_date() function。
1、日期格式參數 含義說明
D 一周中的星期幾。
DAY 天的名字,使用空格填充到 9 個字元。DD 月中的第幾天,DDD 年中的第幾天。
DY 天的簡寫名,IW ISO 標準的年中的第幾周,IYYY ISO 標準的四位年份。YYYY 四位年份,
YYY,YY,Y 年份的最後三位,兩位,一位。
select sysdate,sysdate - interval '7' month from al。
當前時間減去 7 年的時間。
select sysdate,sysdate - interval '7' year from al。
時間間隔乘以一個數字。
select sysdate,sysdate - 8 *interval '2' hour from al
2、日期到字元操作
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from al,select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from al,select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from al。
select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from al。
3、字元到日期操作
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from al。
具體用法和上面的 to_char 差不多。
4、TO_NUMBER
使用TO_NUMBER函數將字元轉換為數字
TO_NUMBER(char[, '格式'])
數字格式格式:
9 代表一個數字 。
0 強制顯示0 。
$ 放置一個$符 。
L 放置一個浮動本地貨幣符 。
. 顯示小數點 。
, 顯示千位指示符。
(4)數值類型顯示轉換有哪些方法擴展閱讀:
在使用數據類型轉換之前,同樣的 SQL 在有的伺服器不報錯,主要是資料庫的版本不同,當然該過配置的不算。
常見的兩種類型轉換錯誤如下:
ERROR: operator does not exist: integer = character varying。
ERROR: operator does not exist: character varying = integer。
字元串轉數字,數字轉字元串。這一點支持的不如 MySQL 好,當然 PostgreSQL 在新版本中也對這個問題做了改進!
第一種轉換方式:使用 CAST 函數。
SELECT * FROM xttblog WHERE id = CAST(888 AS VARCHAR);
SELECT * FROM xttblog WHERE id = CAST('888' AS integer)。
第二種轉換方式:使用「::」操作欄位。
格式,欄位 :: 要轉換為的數據類型。
SELECT * FROM xttblog WHERE id = 888 :: VARCHAR;
SELECT * FROM xttblog WHERE id = '888' :: integer。
數據類型轉換,雖然看起來很痛苦,但是如果用戶的類型用的不對,查詢效率會下降。所以,在設計的時候,欄位的類型,一定要設計的合理,尤其是在關聯表的時候。
⑸ C語言中數據類型轉換的方式有幾種
C語言中數據類型轉換的方式有兩種:自動類型轉換和強制類型轉換。
⑹ Excel中文本型數字如何轉換成數值型數字
在日常工作中,我們會使用到Excel,但是它有時候會顯示為文本型數據,讓我們處理起來非常麻煩,那麼如何轉換為可進行運算的數值型數據呢?
首先,我們先進行單個單元格文本型數據轉換為數值型的方法,先找到一個文本型的數據,我們可以看到在數據上方,有一個綠色的三角形圖案,點擊它,會在左邊看到一個感嘆號的標志,這就是文本型數據了,如圖所示。
接著我們選中需要轉換的單元格,點擊滑鼠右鍵,選擇設置單元格格式,如圖所示。
這時會彈出一個窗口,然後點擊數字,選擇常規即可,如圖所示。
這時我們把該數據已經設置成常規格式,但是需要注意的是,此時還不是真正的數值格式,我們雙擊單元格,就可以激活單元格的編輯模式了,然後Enter回車就可以了,最終顯示的數據就是數值型的了,如圖所示。
上面的方法是對單個單元格,或者少量轉換的單元格比較方便,但是針對多個單元格的轉換就較為繁瑣或者低效,下面我們將講一下如何對多個單元格的方法了, 首先選中我們需要轉換的多個單元格區域,然後執行方法一的方法,將其變為常規格式,如圖所示。
接著我們在Excel表中,選擇一個空白的單元格,然後復制該單元格,快捷鍵為ctrl+c,如圖所示。
然後,選中要轉換的的區域,注意多個單元格一起選中,然後點擊右鍵,點擊選擇性粘貼選項,如圖所示。
點擊過後,會彈出一個對話框,在該對話框中,我們選擇運算區域,然後點擊【加】這個選擇,最後點擊確定即可,如圖所示。
這時候我們就可以看到該組文本型數據,轉換為數值型數據了,如圖所示。
最後一個簡便方法,當我們選中一個文本型的數據時,會看到單元格的左上角有一個黃色的嘆號,顯示該單元格為文本型,如圖所示。
然後我們點擊這個嘆號,這時會彈出多個選項,我們選擇裡面的【轉換為數字】,就可以把文本型轉為數值型了,如圖所示。
⑺ C語言中,數據類型的隱式轉換與顯式轉換分別是個什麼意思
顯式轉換,就是強制轉換。在被轉換的表達式前加(類型),比如:(float)5,就是把5顯式轉換成float類型。
隱式轉換,就是不需要加強制轉換,系統會自動做這個操作,比如:
double k;
k=10;
10是int型,不需要顯式轉換,系統自動會把它轉為10.0。
(7)數值類型顯示轉換有哪些方法擴展閱讀:
隱式自動類型轉換:
C++語言編譯系統提供的內部數據類型的隱式自動轉換規則如下:
1、執行算術運算時,低類型(短位元組)可以轉換為高類型(長位元組);例如: int型轉換成double型,char型轉換成int型等等;
2、賦值表達式中,等號右邊表達式的值的類型自動隱式地轉換為左邊變數的類型,並賦值給它;
3、函數調用時,將實參的值傳遞給形參,系統首先會自動隱式地把實參的值的類型轉換為形參的類型,然後再賦值給形參;
4、函數有返回值時,系統首先會自動隱式地將返回表達式的值的類型轉換為函數的返回類型,然後再賦值給調用函數返回。
⑻ C語言中數據類型轉換的方式有幾種
C語言中數據類型轉換的方式有兩種:自動類型轉換,由C編譯系統自動完成。還有一種是「強制類型轉換」由程序員在代碼中明文寫清楚。
⑼ 在c語言中數據類型轉換主要有哪幾種方式
1、不同類型的數據混合運算,自動轉換成最復雜的類型。
2、強制類型轉換。float fA = 0.2; int iB = (int)fA;
3、指針強制類型轉換。float fA = 0.2; int iB = *(int*)&fA;