Option Strict On 暗黙的に型変換 四捨五入 VB.NET入門

      2017/01/01


vb.netではに暗黙的に型変換されてしまいます。

ちなみに暗黙とは
ググると
何も言わず、だまっていること。

ソース
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim d As Double = 1.49
Dim i As Integer = d

MsgBox(i)

End Sub

実行結果は
1です。

四捨五入された結果は1になりました。

このような間違いを防ぐために
Option Strict On にします。

暗黙的な変換をしないようにできます。

ソース
Option Strict On

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim d As Double = 1.49
Dim i As Integer = d

MsgBox(i)

End Sub

暗黙的な変換は許可されていませんとなります。

逆にいうと明示的にあえて変換は可能ですw

ソース
Option Strict On

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim d As Double = 1.5
Dim i As Integer = CInt(d)

MsgBox(i)

End Sub

実行結果は四捨五入されて2になります。

CTypeでの暗黙的なキャストも通りません。

PR



 - vb.netさんぷる

Translate »