源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中的除法运算符与VB.NET中的除法运算符

  • 时间:2020-04-17 07:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中的除法运算符与VB.NET中的除法运算符
[b]VB.NET中的除法运算符有两个:/(浮点除法)、\(整数除法)[/b] [b]C#中的除法运算符只有一个:/(除法)[/b] [b]VB.NET中的除法运算符与C#中的除法运算符[/b]存在很大的差异,使用时注意区分。   关于[b]VB.NET[/b]中的除法运算符的介绍([b]摘自MSDN[/b]): [b]/(浮点除法):将两个数相除并返回以浮点数表示的结果。[/b] 所得结果的数据类型取决于操作数的类型。 下表显示如何确定结果的数据类型。

[b]操作数数据类型[/b]

[b]结果数据类型[/b]
两个表达式都是整数数据类型([url=http://msdn.microsoft.com/zh-cn/library/11dhfews.aspx]SByte[/url]、[url=http://msdn.microsoft.com/zh-cn/library/e2ayt412.aspx]Byte[/url]、[url=http://msdn.microsoft.com/zh-cn/library/7tb7bdw6.aspx]Short[/url]、[url=http://msdn.microsoft.com/zh-cn/library/x68bebe2.aspx]UShort[/url]、[url=http://msdn.microsoft.com/zh-cn/library/06bkb8w2.aspx]Integer[/url]、[url=http://msdn.microsoft.com/zh-cn/library/x79h55x9.aspx]UInteger[/url]、[url=http://msdn.microsoft.com/zh-cn/library/y595sc15.aspx]Long[/url]、[url=http://msdn.microsoft.com/zh-cn/library/9zsfkcew.aspx]ULong[/url]) Double
一个表达式为 [url=http://msdn.microsoft.com/zh-cn/library/xay7978z.aspx]Single[/url] 数据类型,而另一个表达式不为 [url=http://msdn.microsoft.com/zh-cn/library/x99xtshc.aspx]Double[/url] Single
一个表达式为 [url=http://msdn.microsoft.com/zh-cn/library/xtba3z33.aspx]Decimal[/url] 数据类型,而另一个表达式不为 [url=http://msdn.microsoft.com/zh-cn/library/xay7978z.aspx]Single[/url] 或 [url=http://msdn.microsoft.com/zh-cn/library/x99xtshc.aspx]Double[/url] Decimal
任一表达式为 [url=http://msdn.microsoft.com/zh-cn/library/x99xtshc.aspx]Double[/url] 数据类型 Double

执行除法之前,任何整数数值表达式都会被扩展为 Double。 如果将结果赋给整数数据类型,Visual Basic 会尝试将结果从 Double 转换成这种类型。 如果结果不适合该类型,会引发异常。如果[b]除数[/b]或[b]被除数[/b]计算结果等于 [url=http://msdn.microsoft.com/zh-cn/library/0x9tb07z.aspx]Nothing[/url],则将其视为零。
 
[b]\(整数除法):将两个数相除并返回以整数形式表示的结果。[/b]
下表如何确定结果的数据类型。 请注意,此表是对称的;对于给定的操作数数据类型组合,无论操作数的顺序如何,结果数据类型都是相同的。
  Boolean SByte Byte Short UShort Integer UInteger Long ULong
Boolean Boolean SByte Short Short Integer Integer Long Long Long
SByte SByte SByte Short Short Integer Integer Long Long Long
Byte Short Short Byte Short UShort Integer UInteger Long ULong
Short Short Short Short Short Integer Integer Long Long Long
UShort Integer Integer UShort Integer UShort Integer UInteger Long ULong
Integer Integer Integer Integer Integer Integer Integer Long Long Long
UInteger Long Long UInteger Long UInteger Long UInteger Long ULong
Long Long Long Long Long Long Long Long Long Long
ULong Long Long ULong Long ULong Long ULong Long ULong
如果 \ 运算符两个操作数中的任何一个为 [url=http://msdn.microsoft.com/zh-cn/library/xtba3z33.aspx]Decimal[/url]、[url=http://msdn.microsoft.com/zh-cn/library/xay7978z.aspx]Single[/url] 或 [url=http://msdn.microsoft.com/zh-cn/library/x99xtshc.aspx]Double[/url],则 Visual Basic 在运算前会尝试将其转换为 [url=http://msdn.microsoft.com/zh-cn/library/y595sc15.aspx]Long[/url],并且运算的结果数据类型为 Long。如果 Option Strict 为 On,将产生编译器错误。 如果 Option Strict 为 Off,若值超出 Long 数据类型 (Visual Basic) 的范围,则可能会产生 OverflowException。 转换为 Long 也服从“四舍六入五成双”。如果[b]除数[/b]或[b]被除数[/b]计算结果等于 Nothing,则将其视为零。   关于[b]C#[/b]中的除法运算符的介绍([b]摘自MSDN[/b]): [b]/(除法): 将两个数相除并返回除数和被除数的数据类型中精度高的数据类型。 [/b] 执行除法前,编译器会将除数和被除数的数据类型统一成两者类型中精度高的数据类型。返回的运算结果的类型也是两者类型中精度高的数据类型。例如:两个整数相除的结果始终为一个整数。 一个整数和一个Double型相除,返回结果为Double型。但是需要注意一点,Double和Decimal不能直接进行算术运算,必须先显式的将两者类型进行统一,之后才能进行运算,Double和Decimal不能直接进行运算的原因是两者之间不能进行隐式的类型转换。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部