• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 840
  • Last Modified:

Remove decimal places in text box value

Dear All ,

Please help me for this simple question .

I have text box value like given below .

Text1.text = 12.75

From this value I want to get whole number only .

Ex. text2.text = 12


Thanks

PChandima.


0
PChandima
Asked:
PChandima
  • 5
  • 4
  • 3
  • +2
1 Solution
 
Ryan ChongCommented:
try:

text2.text = format(text1.text, "0")
0
 
Ryan ChongCommented:
May try this instead:

text2.text = fix(text1.text)
0
 
Ryan ChongCommented:
a better handling.. just in case the value of text1 is non-numeric:

if isnumeric(text1.text) then
  text2.text = fix(text1.text)
else
   text2.text = "0" 'or default value
end if
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
PChandimaAuthor Commented:
Dear Ryancys

Thanks For your comments

PChandima
0
 
alainbrydenCommented:
Lol you guys are rediculous! It's so much simpler than that.

Dim number As Integer
number = Int(Text1.text)   'Visual basic automatically TRUNCATES when creating integers

'''Assume Text1.text = 12.99999
'''Then number = 12
'''Careful, because if Text1.text = -45.01827
'''Then number = -46
'''(negative numbers round down)


alain
0
 
alainbrydenCommented:
[If you're going straight back to a string then: Text2.text = Int( text1.text ) ]
0
 
Ryan ChongCommented:
Int, Fix Functions
http://msdn2.microsoft.com/en-us/library/t4dseb50.aspx

>>number = Int(Text1.text)
yes, this will work IF and ONLY when Text1.text is a numeric value, else a Type Mismatch error will appear.

>>Lol you guys are rediculous!
Frankly, we are just volunteer to help here, however i don't expect to get that as a response here!
0
 
alainbrydenCommented:
If isNumeric(Text1.text) then number = Int(Text1.text)

Didn't mean to offend you. I suppose that was innapropriate and appologize, I was simply explaining that there were more simple means.

Alain
0
 
Ryan ChongCommented:
no worries ; )
0
 
Ryan_RIT Systems AdministratorCommented:
easiest way would be to use the Left() function

ie txt1.text = Left(txt1.Text, InStr(txt1.Text, "."))
if necessary use the CStr() function to convert to string but i don't think you'll need to
0
 
smokey965Commented:
An easier way would be
text1.text = "123.456"

text1.text = text1.text + 0

That will make text1.text = "123"

This works on my computer.
0
 
Ryan_RIT Systems AdministratorCommented:
did you try it with "123.999"?
it appears that he always wants to round the number down
0
 
alainbrydenCommented:
smokey's solution is effectively using the Int ( ) function, because it typecasts text1.text as an integer to match the type of "0" which is integer.

Ryan's solution has the same effect as the Fix() function, although it is not nearly as fast. String functions take much much longer to execute then a simple truncation function. A one time use case doesn't matter though. Only if this were code used alot in a loop or recursive call.

Alain
0
 
Ryan_RIT Systems AdministratorCommented:
is there a vb function like the one in excel called ROUNDDOWN() ?
0
 
smokey965Commented:
Here's another one 'text1.text = split(text1.text, ".")(0)'
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

  • 5
  • 4
  • 3
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now