2010-04-03 7 views

Répondre

9
Math.Truncate(myDecimal) 

se détacheront la partie décimale, ne laissant que la partie intégrale (sans modification du type;.. I e cela retourne le type de l'argument, que ce soit Double ou Decimal) .

3

Convertissez-le en entier.

Dim myDec As Decimal 
myDecimal = 532.016 
Dim i As Integer = Cint(myDecimal) 

'i now contains 532 
+0

pourriez-vous s'il vous plaît laissez-moi savoir tout le code sur la façon de le faire –

+0

L'OP utilisait Decimal, selon le titre de la question. – Joey

+0

@Johannes Rössel - yeux plus tranchants que le mien ... Réponse corrigée – Oded

0

Vous pouvez utiliser System.Text.RegularExpressions:

Imports System.Text.RegularExpressions 'You need this for "Split"' 

Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

     Dim yourNumber As String = 532.016 'You could write your integer as a string or convert it to a string' 
     Dim whatYouWant() As String 'Notice the "(" and ")", these are like an array' 

     whatYouWant = Split(yourNumber, ".") 'Split by decimal' 
     MsgBox(whatYouWant(0)) 'The number you wanted is before the first decimal, so you want array "(0)", if wanted the number after the decimal the you would write "(1)"' 

    End Sub 

End Class 
0

Decimal.floor(532.016) sera également de retour 532.

Decimal.Floor arrondit à l'entier le plus proche.

Cependant, cela ne fonctionnera pas pour les nombres négatifs. See this Stack Overflow question for a complete explanation

Decimal.Truncate (ou Math.Truncate) est vraiment le meilleur choix dans votre cas.