在C#中關于一些除法計算問題

 

Response.Write("<br>" + 4 / 3);  //1
除數與被除數都爲整數時,結果爲整數。
除法将结果舍入到零,并且结果的绝对值是小于两个操作数的商的绝对值的最大可能整数。当两个操作数符号相同时,结果为零或正;当两个操作数符号相反时,结果为零或负。
如果左操作数为最小可表示 int 或 long 值,右操作数为 -1,则发生溢出。无论操作是在 checked 还是在 unchecked 上下文中发生,此时总是引发 System.OverflowException。
如果右操作数的值为零,则引发 System.DivideByZeroException。

 esponse.Write("<br>" + 5%2);  //1  取余數


Response.Write("<br>" + 4 / 3.0); //1.33333333333333
結果爲double類型,精確到15-16位。
這裏3.0指定爲double類型。


Response.Write("<br>" + 4 / 3f); //1.333333
結果爲float類型,精確到7位。
這裏3f指定爲float類型。

 


附:

可在一个表达式中兼用数值整型和浮点型。在此情况下,整型将转换为浮点型。根据以下规则计算表达式:

如果其中一个浮点类型为 double,则表达式的计算结果为 double 或 bool(对于关系表达式或布尔表达式)。

如果表达式中不存在 double 类型,则表达式的计算结果为 float 类型,在关系表达式或布尔表达式中为 bool 类型。

posted on 2007-08-06 14:59  感動常在  阅读(2734)  评论(0编辑  收藏  举报