1樓:蔡白晁睿思
按正常的乘法計算。
查小數點位數,把相乘的乘數的小數點相加。
點小數點,從右往左查位數,查夠相加的位數,然後點上就可以了。
2樓:崔翊卓秀逸
private
string
ggg(string
num)
num=
num.substring(0,
num.length-2)
+"."
+num.substring(num.length-2);
return
num;
}或者是
string.format("",12345.6);
注意12345.6是數值,不是字串
3樓:匿名使用者
我就不寫**了,給你個思路:
去字串:string strnum = textbox1.text.trim();
轉換成數字:float num = float.parse(strnum );
轉換: num = num/100;
應該就是了。
4樓:匿名使用者
什麼也不需要修改,令textbox2.text等於下面就可以
textbox2.text=(float.parse(textbox1.text)/100).tostring();
5樓:匿名使用者
把int型改成float
如何把c#小數與整數部分分開
6樓:鈾氶瓏鈾
string a = 控制項來名.text;
double b = double.parse(a);//強制轉換成double
int c = (int)b;//獲取了源整數部分
string d = c.tostring();//把a轉換成string型別
string e = a.substring(0, d.length);//d.length是獲取d的長度的,用substring擷取就獲得小數點前面的了
console.writeline(e);//控制台輸出自己看的
string f = a.substring(d.length);//獲取非整數部分
console.writeline(f);//控制台輸出自己看的
string g = 0 + f;//0加上小數點和小數點後面的東西
console.writeline(g);//控制台輸出自己看的
7樓:匿名使用者
float n=12.223;
int x=(int)n;
float y=n-(float)x;
c# 如何獲取小數的整數部分
8樓:du瓶邪
用(int)強制把double型轉換(該轉換不會四捨五入)如double db = 25.6;
int tt = (int)db;
最後tt=25
若要四捨五入的話認為加0.5就可 如:
double db = 25.6;
db=db+0.5;
int tt = (int)db;
最後tt=26
9樓:匿名使用者
假如只是小數點一位的話那麼就,(int)(a+0.4)最簡單,
否則要判斷是否為整數了a>(int)a?a+1:a;
10樓:匿名使用者
這不就是四捨五入嗎?convert.toint32(a);
11樓:匿名使用者
private int zhuanhuan(double a)
使用 int b = zhuanhuan(4.0) 呼叫。
祝你學習愉快。
12樓:
其實這裡邊有乙個特別好玩的事,很多人不注意而已!
這裡我就順便就一下吧,在c#中其實是存在兩種演算法可以進行四捨五入計算的。一種叫四捨五入,一種叫銀行家捨入演算法(是四捨五入的一種)。
第乙個是常規的四捨五入:tostring("0.00"); // 保留兩位小數
該種計算的規則是看捨入值(精確值的後一位),例如tostring("0.00"),保留兩位小數,則百分位為精確位(保留小數的最尾一位),而千分位則是捨入位。看果捨入位數字為5及其以上的的都要入位(進一位),否則要捨(直接丟掉)。
第二個是銀行家捨入演算法: math.round(double, int),其中第二引數就是要保留的小數字置。
兩者除了乙個返回的是字串型,乙個返回double型別不同之外,計算法則也是不同的,計算出的結果會讓你大吃一驚:
int tmp = 4.65;
tmp.tostring("0.0")返回結果是字元型4.7!
math.round(tmp,1)返回的結果是double型的4.6(是的你沒看錯——是4.6)!
銀行家的傳入法則是,看捨入值,如果大於0.5*10^n,則進,如果小於則舍。如果等於,要看精確位的奇偶!如果是偶數則舍,如果是奇數則進!
換句話來說:math.round(4.
75, 1)的結果就是4.8!但math.
round(4.65,1)的結果就是4.6(不是4.
7)!但是對於math.round(4.
65000000000001,1)的結果就是4.7了!
兩者的區別,四捨五入只看捨入位!而銀行家傳入演算法則是看捨入值(區別好值與位的區別),因為四捨五入只看了位,所以逢5必進,而銀行家捨入值為0.5*10^n時要看精確位的奇偶性!
這一點一定要有區別的!
那麼是不是.net類庫中就不存在四捨五入了呢?其實是round方法的另乙個引數midpointrounding在控制,它預設實現的是銀行家傳入演算法,如果改成midpointrounding.
alwaysfromzero時(預設是toeven),它不再考慮奇偶性了!,捨入值等於0.5*10^n時會進製——雖然還得這麼理解,但其實與只看捨入位是一樣的了!
所以其實可以使用math.round(double, int, midpointrounding)這個方法的!
math.round(tmp, 1, midpointrounding.alwaysfromzero)是四捨五入;
math.round(tmp,1,midpointrounding.toeven)是銀行家捨入演算法;
當然——如果int的那位是0時,可以不寫的!如果是捨入位在整數前時,該位可以為負數。
當然,這裡還存在乙個極大的問題,數學上的進一法!包括退一法等均實現:
math.floor(),這是退位法則,在正數範圍內(int)強轉的結果與該結果相同!
math.ceiling(),這個是進製法則,在負數範圍內與(int)強轉結果相同。
數值 (int)強轉 math.floor(tmp) math.ceiling(tmp)
4.15 4 4.0 5.0
-4.15 -4 -5.0 -4.0
這三者幾乎都給你比較了!另外math中存在很多靜態的數學方法可以用的!
c# 如何將帶小數點的字串轉換為整型
13樓:像郭德綱剛
//遵循四捨五入原則:
string test1="9.3";
string test2 = "9.5";
int int1= convert.toint32(convert.todouble(test1));
int int2 = convert.toint32(convert.todouble(test2))。
在c#中,要將乙個字串或浮點數轉換為整數,基本上有三種方法:
1、使用強制型別轉換:(int)浮點數 。
2、使用convert.toint32(string)。
3、使用int.parse(string)或int.tryparse(string,out int)。
在實際使用時,當要轉換的字串或數字帶有小數時,發現它們有以下區別:
1、方法一:截斷 ,方法二:四捨五入
int a=(int)2.8; //結果為2
int b=convert.toint32(2.8); //b的值為3。
2、int.parse方法的引數如果不能轉換為整數,則報異常。
如 int c=int.parse("2.8"); //報異常,說明其引數必須是整數字串。
//int.tryparse,
int c = -1,
int.tryparse("2.8", out c); //不能轉換成功,結果為0,
int.tryparse("2", out c); //轉換成功,結果為2。
14樓:
int x = (int)convert.tosingle("12.6");
一樓的方法一樣可行。
補充說明:如果想要四捨五入的結果,這樣還不夠,我給的這個例子結果會是12.
15樓:匿名使用者
(int)float.parse("5.1")
c# 小數取整的問題
16樓:匿名使用者
math.ceiling()向上取整; d = 4.56789 string res = math.
ceiling(convert.todecimal(d)).tostring() res=5
math.floor()向下取整 ;string res = math.floor(convert.todouble(d)).tostring(); es=4
math.round是"就近捨入",當要捨入的是5時與"四捨五入"不同(取偶數),如:
math.round(0.5,0)=0
floor 和 ceiling是math unit 裡的函式,使用前要先 uses math。
trunc 和 round 是system unit 裡的函式,預設就可以用。
floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123
trunc 直接切下整數,比如 trunc(-123.55)=-123, floor(123.55)=123
ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124
round 計算四捨五入,比如 round(-123.55)=-124,round(123.55)=124
17樓:匿名使用者
decimal num = 36270449.32textbox1.text = string.format("", num / 10000);
資料的型別為double,資料庫欄位為float,兩個只有兩位小數的數字相減,結果怎麼會有十多位小數喔?
這個是精度問題。
大整數加法怎麼寫c語言,超大整數的加法 C語言
目標 實現任意位數 1000位以內 的兩個大正整數的加法 include include include define maxsize 1000 int max int a,int b int main n2 maxsize sum maxsize scanf s s str1,str2 int l...
c語言超長整數加法,C語言 超長整數加法
中北吳延寶 模擬!就是實現你做加法的過程,一位一位算,注意進製就行了 陳阿水 真 以前我也做過乙個大整數程式,2000!不過那裡面沒有減法。做這個減法真讓花時間啊。include include include define max 4000 數字上限 dd char a strncpy a,t,j...
c語言輸入n個整數到陣列u中輸入正整數
include stdafx.h vc 6.0加上這一行.include stdio.h include string.h int main void int n,u 40 i,k while 1 if scanf d n n 0 break scanf d k for i 0 i 或者 inclu...
c語言定義正整數n,再輸入任意n個整數,計算並輸出這n個整數的和及平均值。使用動態記憶體分配方
資料鏈表的問題 1 定義乙個結構體 結構體內容如下 int number struct 結構體名稱 next 建立乙個單元 2 scanf n這個數,使用for迴圈n次 裡面 建立鍊錶 3 遍歷這個鍊錶裡面的資料 大約思路是這樣的 可能c語言語法寫得不太好 c語言 定義乙個正整數n,再輸入任意n個整...
c語言輸入正整數n,再輸入n個整數,降序輸出
include main for i 0 i printf d score i printf n c語言怎麼寫出 輸入乙個正整數n,再輸入n個整數,輸出最小值 的 include void main printf min d min 執行示例 include void mian int min a ...