Keith,

You have 2 options, use the INSTR and LEFT functions OR multiply the value

up, convert it using the INT function then divide it back down. See

examples below;

Option 1:

Dim Answer as String

Dim Ptr As Integer

Answer = CStr( (10 * 100.5) / 46) 'Calculate your value and

convert to a string

Ptr = Instr(Answer, ".") 'Check if the result

has a DECIMAL

If (Ptr = 0) Then 'If there is NOT a

decimal

TextBox2.Text = Answer 'Display the answer

as-is

Else 'Otherwise

TextBox2.Text = Left(Answer, Instr + 3) 'Display the string up

to the Decimal + next 3 characters

End If

Option 2:

Dim Answer As Double

Answer = (10 * 100.5) / 46

Answer = Answer * 1000

Answer = Int(Answer)

Answer = Answer / 1000

TextBox2.Text = Answer.ToString

NOTE: In Option 2 you could perform all the math on 1 line as in;

TextBox2.Text = (Int(((10 * 100.5) / 46) * 1000) / 1000).ToString

"Keith" <an*******@discussions.microsoft.com> wrote in message

news:1f*****************************@phx.gbl...

Hello,

Let's say Textbox1.text = 10

size = 46

answer = (Val(TextBox1.Text) * 100.5) / size

TextBox2.Text = Format(answer, "#######.000")

The answer is: 21.847830...

However, when I get the result in textbox2.text - it shows:

21.848

While I understand that this is rounding up - how can I

make it so that I still get the 3 decimal places - but it

shows:

21.847

(without the rounding)