[Gambas-user] Rounding to 2 decimals

rocko sunblaster5 at ...626...
Fri Jul 27 20:21:59 CEST 2012


AHA!  That works, I forgot about using 'Float'

If I were to use a textBox to display the result, 
how would I convert it??
Would it be something like:
Val(perAmnt)


On Fri, 2012-07-27 at 21:14 +0300, Jussi Lahtinen wrote:
> Issue with Round is more complicated. It is floating point precision
> problem,
> which arises from automatic conversion from float to single.
> 
> You can fix it by changing;
> Dim perAmnt As Single
> 
> to
> 
> Dim perAmnt As Float
> 
> 
> Jussi
> 
> 
> 
> 
> On 27 July 2012 21:05, rocko <sunblaster5 at gmail.com> wrote:
> 
> > On Fri, 2012-07-27 at 19:49 +0200, Tobias Boege wrote:
> > > On Fri, 27 Jul 2012, rocko wrote:
> > > > On Fri, 2012-07-27 at 19:25 +0200, Tobias Boege wrote:
> > > > > On Fri, 27 Jul 2012, rocko wrote:
> > > > > > Using '.value instead of .text gives an error:
> > > > > > "Unknown symbol "value" in class TextBox"
> > > > > >
> > > > > > On Fri, 2012-07-27 at 02:05 +0200, LeszekK wrote:
> > > > > > > 'Do not use textboxes for mathematical calculations
> > > > > > >
> > > > > > > Dim prmAmnt As Integer
> > > > > > > Dim totAmnt As Integer
> > > > > > > Dim perAmnt As Single
> > > > > > >
> > > > > > > prmAmnt = prmBox.value 'valuebox! not textbox
> > > > > > > totAmnt = totBox.value 'valuebox! not textbox
> > > > > > > perAmnt = Round((prmAmnt / totAmnt * 100), 2)
> > > > > > > ValueBox1.Value = perAmnt & "%"
> > > > > > >
> > > > > > > I not tested the code but it should work.
> > > > > > >
> > > > >
> > > > > First, I herewith want to join the folks who urge to not top-post.
> > > > >
> > > > > If you have a deeper look at the error message above, you'll notice
> > that you still use TextBox
> > > > > instead of ValueBox, right?
> > > > >
> > > > > Regards,
> > > > > Tobi
> > > >
> > > > Ah yes the 'ol top vs bottom post --oh well
> > > > Yes I figured that out and replaced my textBoxes with valueBoxes
> > > > but still can't get it to work
> > > >
> > > >
> > >
> > > :)
> > > OK, so to sum up, two things were wrong with your very first code:
> > > a) Used TextBox without conversion -> use ValueBox instead
> > > b) To round to decimals, the second argument to Round() must be negative
> > >    -> use -2
> > >
> > > This gives:
> > >
> > > Dim prmAmnt As Integer
> > > Dim totAmnt As Integer
> > > Dim perAmnt As Single
> > >
> > > prmAmnt = prmBox.Value
> > > totAmnt = totBox.Value
> > > perAmnt = Round(prmAmnt / totAmnt * 100, -2)
> > >
> > > Print perAmnt
> > >
> > > This code works for me (but without the ValueBox input stuff, I used
> > > prmAmnt = 2 and totAmnt = 3 hard-coded instead)
> > >
> > > If this does not work, please say what makes you feel that it didn't
> > work.
> > >
> > > Regards,
> > > Tobi
> >
> > No it does not work for me.
> > The last valueBox remains blank, actually it has a zero in it.
> > The valueBox isn't updating it's value to the calculation, I can't
> > seem to figure out why.
> >
> > I added a print statement and it does print the result in the console
> > but it's not rounding to 2 places, using 2 and 3 gives a result of
> > 66.6699982.
> > I double checked the name and it is the same as in the code, ValueBox1,
> > as I did not rename it like I did with the others.
> >
> > I am using: ValueBox1.Value = perAmnt & "%"
> >
> > >
> > >
> > ------------------------------------------------------------------------------
> > > Live Security Virtual Conference
> > > Exclusive live event will cover all the ways today's security and
> > > threat landscape has changed and how IT managers can respond. Discussions
> > > will include endpoint security, mobile security and the latest in malware
> > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > > _______________________________________________
> > > Gambas-user mailing list
> > > Gambas-user at lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> >
> >
> >
> >
> > ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > Gambas-user mailing list
> > Gambas-user at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> >
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user






More information about the User mailing list