1樓:匿名使用者
convert.tostring((object)null) == ""
convert.tostring(null)== null
通常 object 到 string 有四種方式(假設有object obj):obj.tostring(),convert.
tostring()、(string)obj,obj as string.。都能將 object 物件轉換成 string 物件。異同以及在實際中應該使用:
1.前兩個方法通常是由別的物件得到 string 物件,它們間的區別只表現在要轉換的物件為 null 時,如果 obj 為 null,呼叫 obj.tostring 方法會導致 nullreferenceexception 異常,呼叫convert.
tostring 不會丟擲異常而返回一個 null。
2.用強制轉換 (string)obj 要求 obj 的執行時型別必須是 string。如果不是,就會丟擲異常。
用 as 方法則會相對平穩,當 obj 的執行時型別不是 string 時會返回 null 而不丟擲異常。
3.所以在通常在需要得到某個物件的 string 表達形式時,應該使用 tostring 和
convert.tostring,這時候就得根據情形選一個,假如保證物件不為 null,則兩個差不多。如果有可能為 null,就應該用 convert.
tostring,如果希望它為 null 的時候丟擲異常,那麼當然可以選擇 tostring。
2樓:望月玲瓏
用.tostring()方法。
c#中怎麼將string轉換成int型
3樓:匿名使用者
1、convert.toint32(); //轉換成32位的整數。
2、變數.tostring();/最常見的轉換成 字串。
3、"訂單"+2514 //後面的數字會轉換為字串。
4、((類名a)物件名x) //強行將 物件x 轉換成 a類 的物件。
5、int.parse(string);把字串型轉換成其他型別。 (你需要用這個,但如果輸入字串不是數字會異常)
int result;//這個方法保險些,當然framework2.0是不支援的
if (!int.tryparse("1", out result))
6、還有,如果要轉換成的型別為引用型別,還可以用 as
teacher tea = teahcer();
如 student stu = tea as student;
(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。
從 char 到 ushort、int、uint、long、ulong、float、double 或 decimal。
從 float 到 double。
不存在向 char 型別的隱式轉換,因此其它整型的值不會自動轉換為 char 型別。
浮點型不能隱式地轉化為decimal型
隱式列舉轉換
隱式列舉轉換允許將十進位制整數 0 轉換為任何列舉型別。
隱式引用轉換
派生類向基類轉換
隱式引用轉換是指一類引用型別之間的轉換,這種轉換總是可以成功,因此不需要在執行時進行任何檢查。
裝箱轉換
裝箱轉換允許將值型別隱式轉換為引用型別。
(2) 顯示轉換:也稱強制型別轉換。不能保證資料的正確性。
(type)(表示式)
(3) 使用者自定義c#資料型別轉換
所有的使用者自定義轉換都是靜態的,要使用static關鍵字
使用者自定義轉換分顯示和隱示,它們用implicit(隱式轉換)或 explicit(顯示轉換)關鍵字宣告。
static 訪問修辭符 轉換修辭符 operator 轉換型別(引數)
c#中int向float型轉換。
4樓:春天的離開
c#中int向float型轉換:
1、用convert方法。convert.toint32(string),括號裡的是需要轉換的字串。
2、int32.parse(string)和int.parse(string)。
3、int32.tryparse(string,out int result)或int.tryparse(string,out int result)來轉換。
tryparse的返回值是一個bool型別的值,指示是否轉換成功,轉換成功後第二個引數就是已經轉換成功的值:
int result;
if(int32.tryparse("20", out result))
else
擴充套件資料
當在int(假設int是32位的)、float和double格式之間進行強制型別轉換時,原則如下:
從 int 轉換成 float,數字不會溢位,但是可能被舍入。
從 int、float 轉換成 double,能夠保留精確的數值。因為 double 有更大的範圍和更高的精度(有效位數)。
從 double 轉換成 float,因為 float 範圍要小一些,所以值可能溢位成 +∞ 或 -∞。另外由於float精度較小,還可能被舍入。
從 float、double 轉換成 int,值將會向零舍入。如1.999會被轉成1,-1.999會被轉成-1。同時值可能會溢位。
5樓:匿名使用者
float的精度是指有效數字的位數,不一定是指小數點後位數。float型資料也是用32位儲存,由於有階碼,所以損失了部分精度。
6樓:三根鞋帶
float的儲存位是32位元,定義其為7位有效數字,這裡的7位有效數字是說精度,不是說範圍.
你可以使用double或decimal
其中double也使用double.tostring("0.000");來控制精度
7樓:匿名使用者
樓主觀察很細微啊。int到float轉換精度會降低,如果需要較高精度,應該考慮使用double型別。如下分析:
第一點:從int(system.int32)到float轉換精度會降低。如下**:
static void main(string args)
輸出為:
2147483647
2.147484e+09
明顯有效位數減少。
第二點:msdn中有如下描述:
可在一個表示式中兼用數值整型和浮點型。在此情況下,整型將轉換為浮點型。根據以下規則計算表示式:
如果其中一個浮點型為 double,則表示式的計算結果為 double 型別,在關係表示式或布林表示式中為 bool 型別。
如果表示式中不存在 double 型別,則表示式的計算結果為 float 型別,在關係表示式或布林表示式中為 bool 型別。
這樣,如果表示式中只有int和float,可能得不到應有的精度,因此應該考慮將float轉成double之後再進行運算。
共同**~~
請教高手c# 中double 向 float 型別怎麼轉換啊??
8樓:大野瘦子
有兩種:
1、隱式轉換是直接轉換 。例如:
int i = 34;
long j = i;
2、顯式轉換包含有強制型別轉換。 例如:
double j=3.14;
j=(float)j;
9樓:匿名使用者
c# 支援兩種型別的轉換,隱式轉換和顯式轉換。
⑴隱式轉換是直接轉換 。例如:
int i = 34;
long j = i;
⑵顯式轉換包含有強制型別轉換。 例如:
double j=3.14;
j=(float)j;
10樓:匿名使用者
float testfloat=0;
if(float.tryparse(doublevalue,out testfloat))
else
11樓:青花惡魔
convert.tosingle()
12樓:匿名使用者
1.convert.tofloat()
2.float.parsh()
13樓:匿名使用者
convert.tofloat()
c中無法將 int 型別隱式轉換為 string
完整 如下 using system using system.collections.generic using system.linq using system.text namespace sd a tostring c 無法將型別int隱式轉換為string怎麼解決?直接強制轉換就行了,把s...
c如何將float型別數值保留兩位小數
我叫啥 程式例程如下 double x 6.50000000000 float y float.parse x.tostring console.writeline y.tostring f2 以上程式將x值賦給y,y保留兩位小數。 果建翼 你要知道,float是浮點數,無法精確表示一個數值。所以你...
錯誤1無法將型別「int 」隱式轉換為「int」。存在顯式轉換 是否缺少強制轉換
var votes from v in db.voteitem where v.titleid int32 parse request.querystring titleid tostring select v.itemcount sum var 是.net framework 3.5新出的一個定義...