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 使用強制型別轉換 ...