c中怎樣將型別「float」隱式轉換為「string」

時間 2021-10-26 10:31:32

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新出的一個定義...