How to round and truncate long decimal strings in vb.net for compact framework
Posted on 2014-08-01
Earlier today I asked this question:
I will have string data coming in, with 1, 2, or 3 digits preceding the decimal point, and 12 digits after the decimal point. An example would be 12.918171615141. I need to truncate everything past the 4th decimal digit, so that my example string would look like 12.9181.
Better yet would be if I could ROUND it properly, so that in this example I would end up with 12.9182. But to do so, I assume I would have to move the string to a numeric variable and use a math function. IF this is feasible, I need some sample code to handle this as well, i.e. how to properly get it into a numeric variable, then do the rounding, and get it back in to a string. TIA
And the most complete answer I got was this:
Dim yv as Double
if Double.TryParse(strABC, out yv) then
'strABC a valid decimal.
yv = Math.Round(yv, 3, MidpointRounding.AwayFromZero)
strABC = yv.ToString()
yv = nothing
I closed out the question too soon, because now that I'm able to try this code, I am getting syntax errors. I suspect that some of this may be because I'm working in the compact framework environment with its limitations. Unfortunately I failed to mention this in my earlier question.
Specifically, here are the errors I am getting:
1) In the line that says "if Double.TryParse(Me.txtLocTot.Text, out yv) then", it is saying that "TryParse is not a member of Double", and "name out is not declared", and "comma or valid expression expected" at the end of that line.
2) In the line that says "yv = Math.Round(yv, 3, MidpointRounding.AwayFromZero)", it says "MidpointRounding is not declared".
I have messed with it for quite a while, but getting nowhere. So, any suggestions to will be appreciated. TIA