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

作者:mdxy-dxy 时间:2022-04-01 10:52:56 

VB.NET中的除法运算符有两个:/(浮点除法)、\(整数除法)

C#中的除法运算符只有一个:/(除法)

VB.NET中的除法运算符与C#中的除法运算符存在很大的差异,使用时注意区分。

 

关于VB.NET中的除法运算符的介绍(摘自MSDN):

/(浮点除法):将两个数相除并返回以浮点数表示的结果。

所得结果的数据类型取决于操作数的类型。 下表显示如何确定结果的数据类型。

操作数数据类型

结果数据类型

两个表达式都是整数数据类型(SByte、Byte、Short、UShort、Integer、UInteger、Long、ULong)Double
一个表达式为 Single 数据类型,而另一个表达式不为 Double

Single

一个表达式为 Decimal 数据类型,而另一个表达式不为 Single 或 Double

Decimal

任一表达式为 Double 数据类型Double

执行除法之前,任何整数数值表达式都会被扩展为 Double。 如果将结果赋给整数数据类型,Visual Basic 会尝试将结果从 Double 转换成这种类型。 如果结果不适合该类型,会引发异常。如果除数被除数计算结果等于 Nothing,则将其视为零。

 

\(整数除法):将两个数相除并返回以整数形式表示的结果。

下表如何确定结果的数据类型。 请注意,此表是对称的;对于给定的操作数数据类型组合,无论操作数的顺序如何,结果数据类型都是相同的。

 BooleanSByteByteShortUShortIntegerUIntegerLongULong
BooleanBooleanSByteShortShortIntegerIntegerLongLongLong
SByteSByteSByteShortShortIntegerIntegerLongLongLong
ByteShortShortByteShortUShortIntegerUIntegerLongULong
ShortShortShortShortShortIntegerIntegerLongLongLong
UShortIntegerIntegerUShortIntegerUShortIntegerUIntegerLongULong
IntegerIntegerIntegerIntegerIntegerIntegerIntegerLongLongLong
UIntegerLongLongUIntegerLongUIntegerLongUIntegerLongULong
LongLongLongLongLongLongLongLongLongLong
ULongLongLongULongLongULongLongULongLongULong

如果 \ 运算符两个操作数中的任何一个为 Decimal、Single 或 Double,则 Visual Basic 在运算前会尝试将其转换为 Long,并且运算的结果数据类型为 Long。如果 Option Strict 为 On,将产生编译器错误。 如果 Option Strict 为 Off,若值超出 Long 数据类型 (Visual Basic) 的范围,则可能会产生 OverflowException。 转换为 Long 也服从“四舍六入五成双”。如果除数被除数计算结果等于 Nothing,则将其视为零。

 

关于C#中的除法运算符的介绍(摘自MSDN):

/(除法): 将两个数相除并返回除数和被除数的数据类型中精度高的数据类型。

执行除法前,编译器会将除数和被除数的数据类型统一成两者类型中精度高的数据类型。返回的运算结果的类型也是两者类型中精度高的数据类型。例如:两个整数相除的结果始终为一个整数。 一个整数和一个Double型相除,返回结果为Double型。但是需要注意一点,Double和Decimal不能直接进行算术运算,必须先显式的将两者类型进行统一,之后才能进行运算,Double和Decimal不能直接进行运算的原因是两者之间不能进行隐式的类型转换。

标签:除法运算符
0
投稿

猜你喜欢

  • 理解Java中的静态绑定和动态绑定

    2022-05-28 04:20:06
  • java WebSocket 服务端实现代码

    2022-09-28 00:30:52
  • 完美解决Spring声明式事务不回滚的问题

    2023-07-12 14:38:50
  • Spring Boot开发RESTful接口与http协议状态表述

    2023-05-27 03:26:48
  • Java中Map遍历的九种方式汇总

    2023-05-02 21:57:27
  • 详细讲解Java的泛型

    2021-07-06 02:31:24
  • 面试初级Java开发问到Arrays

    2023-11-27 05:40:04
  • 解决bufferedReader.readLine()读到最后发生阻塞的问题

    2022-07-15 06:05:38
  • SpringBoot项目集成日志的实现方法

    2023-06-02 23:00:23
  • java实现简单的扫雷小游戏

    2022-09-14 19:23:24
  • C#实现钟表程序设计

    2023-01-01 06:38:42
  • java中request常用方法小结

    2022-09-13 06:19:45
  • java实现简单的俄罗斯方块

    2021-08-02 18:13:11
  • C# 透明窗体制作实现方法比较分析

    2022-11-26 02:35:30
  • java图片验证码生成教程详解

    2021-11-04 13:22:14
  • Maven本地打包war包实现代码解析

    2021-09-06 12:51:14
  • Java函数式编程(六):Optional

    2021-07-04 21:44:05
  • 两种JAVA实现短网址服务算法

    2023-05-08 12:17:30
  • JNI语言基本知识

    2022-01-20 20:02:46
  • 详解Kotlin和anko融合进行Android开发

    2021-08-15 19:34:16
  • asp之家 软件编程 m.aspxhome.com