請問C的float如何轉換為int

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

1樓:四舍**入

int到float轉換精度會降低,如果需要較高精度,應該考慮使用double型別。

如從int(system.int32)到float轉換精度會降低,如下**:

static void main(string args)int32 number = int32.maxvalue;

console.writeline(number);

console.writeline((float)number);

console.readline();

輸出為:

2.147484e+09

2樓:

沒一個正確答案,真是不靠譜,其實很簡單

float count = 0.035f/0.01f;

int counti =(int) count / 1;

3樓:polaris北斗

強制轉換,a = (int)b;

4樓:匿名使用者

pointf p1 = new pointf(0, 0);

pointf p2 = new pointf(x, y);

g.drawline(pe, x, y);

5樓:匿名使用者

a=(int) b;

6樓:匿名使用者

1.a=integer.parseint(b.tostring());

2.a=convert.toint32(b);

swift怎麼將float轉換為int型別

7樓:瑛夫科技

方法一: 使用stringstream

stringstream在int或float型別轉換為string型別的方法中已經介紹過, 這裡也能用作將string型別轉換為常用的數值型別。

#方法二:使用atoi()、 atil() 、atof()函式 -----------------實際上是char型別向數值型別的轉換

注意:使用 atoi 的話,如果 string s 為空,返回值為0.則無法判斷s是0還是空

c#中int向float型轉換。

8樓:春天的離開

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。同時值可能會溢位。

9樓:匿名使用者

float的精度是指有效數字的位數,不一定是指小數點後位數。float型資料也是用32位儲存,由於有階碼,所以損失了部分精度。

10樓:三根鞋帶

float的儲存位是32位元,定義其為7位有效數字,這裡的7位有效數字是說精度,不是說範圍.

你可以使用double或decimal

其中double也使用double.tostring("0.000");來控制精度

11樓:匿名使用者

樓主觀察很細微啊。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#浮點型顯示轉換為整型時為什麼是捨去小數部分?

12樓:

c#浮點型顯示轉換為整型是取整整的,會強制轉換捨去小數部分。

這個賦值會把堆疊中的運算結果值存入變數,在這個過程中,實際的值應該是x=70074.996948242188,而因為精度問題,存入c的值是c=70075.0。

例:擴充套件資料使用注意事項

單精度浮點數只有7位(十進位制)左右的精度,如果將其乘以1000,那麼誤差也就擴大1000倍。然後又把float直接截斷為int32數字。有這樣粗放的演算法,那麼這種精度損失,是很正常的,最終在int32的值上只看到4為有效數字了)。

.net在不同系統版本下、不同cpu下,編譯出來的**是不同的。而不同cpu對於指令的處理肯定也是不完全相同的。

即使是.net2.0framework,用11、12年前的與2023年是隨現在的軟體包而釋出的.

net2.0,相信它的jit編譯出的**也是有差異的。相信最近這些年的.

net在保證運算效率的基礎上,也能稍微提高一些精度。

13樓:匿名使用者

那要看你如何轉換了

如果使用(int)

比如:double b = 12.6; int a = (int)b; // 此時a的值為12

如果使用convert

比如:double b = 12.6; int a = convert.toint32(b); //此時a的值為13

根據需求靈活運用需要的轉換型別提升精度

14樓:

所謂整形那肯定就是整形啦 是會直接去掉的, 要保留小數點之前的 而且四捨五入的話 你手動做吧 四捨五入

15樓:匿名使用者

c#中的轉換整形是去整的啊,不是四捨五入的

c#中如何進行string與float的轉換

16樓:珈藍初昳

大概是樓上的意思,數值.tostring()或者convert.tostring(數值),float最好用數值.parse(s),可以自動檢驗s能否變成數值型

17樓:匿名使用者

補充下樓上的,不是為了拿分,常用的有:float f = 3.12f; string s = ""; s = convert.

tostring(f); f = convert.tosingle(s); s = f.tostring(); f = float.

parse(s); s = f + "";

18樓:匿名使用者

很簡單的。不廢話,直接給例子。

1.float x = 3.14f;

string s = x.tostring();

2.string s = "3.14";

float x = float.parse(s);

c中如何把string型別轉換為double型別

隱式轉換 當對簡單的值型別進行轉換時,如果是按照 byte,short,int,long,float,double從左到右 從短到長 進行轉換的時候,可以直接進行轉換 隱式轉換 不用做任何說明。簡單的 示例 static void main string args 顯示轉換 依然是對值型別進行轉換時...

c如何將字串轉換為數字,c 數字怎麼轉換成字串程式碼?

四舍 入 介面上放一個textbox,id為a 根據你在文字框中輸入的值進行下面邏輯的判斷 string newdata 宣告一個,用來盛放轉換後的值 string type type a.text.substring 0,1 tostring 擷取第一位符號位 if type newdata co...

c 如何將帶小數點的字串轉換為整型

intx int 一樓的方法一樣可行。補充說明 如果想要四捨五入的結果,這樣還不夠,我給的這個例子結果會是12.遵循四捨五入原則 string test1 string test2 int int1 int int2 在c 中,要將一個字串或浮點數轉換為整數,基本上有三種方法 1 使用強制型別轉換 ...