Solved

vb,net convert money to string

Posted on 2014-12-06
3
246 Views
Last Modified: 2014-12-06
Hi experts
I have a table field hour format money and it has a value 5.4800 stored to it,
I would like convert that to a string but only 2 decimals i,e 5.48
I am using the following code to get this value. I was wondering if their is an easy and shorter way to doing it,


       Dim hoursxx = row("Hours").ToString
                Dim lhx = Len(hoursxx)
                Dim lhxx = Microsoft.VisualBasic.Left(hoursxx, lhx - 2)

lhxx returns 5.68

thanks
0
Comment
Question by:b001
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 37

Accepted Solution

by:
Neil Russell earned 500 total points
ID: 40484977
Dim hoursxx = row("hours")
Dim str1 as string
str1 = Format(hoursxx, "##,##0.00")

Open in new window


58.9800 would give "58.98"
0
 
LVL 34

Expert Comment

by:it_saige
ID: 40484990
Whenever doing these types of conversions, it is better to do a type and exception safe conversion, in your case:
Dim hoursxx = row("hours")
Dim formatter As Decimal
Dim converted As String = If(Decimal.TryParse(hoursxx, formatter), formatter.ToString("0.00"), "Invalid decimal/money value")

Open in new window


Example program -
Module Module1
	Private money1 As String = "58.98000"
	Private money2 As String = "145.00"
	Private money3 As String = "45.789032"
	Private money4 As String = "I am not money"

	Sub Main()
		Dim format As Decimal = Decimal.MinValue
		Console.WriteLine("Money 1 is - {0}", If(Decimal.TryParse(money1, format), format.ToString("0.00"), "Not a decimal/money value"))
		Console.WriteLine("Money 2 is - {0}", If(Decimal.TryParse(money2, format), format.ToString("0.00"), "Not a decimal/money value"))
		Console.WriteLine("Money 3 is - {0}", If(Decimal.TryParse(money3, format), format.ToString("0.00"), "Not a decimal/money value"))
		Console.WriteLine("Money 4 is - {0}", If(Decimal.TryParse(money4, format), format.ToString("0.00"), "Not a decimal/money value"))
		Console.ReadLine()
	End Sub
End Module

Open in new window


Produces the following output -Capture.JPG
-saige-
0
 
LVL 37

Expert Comment

by:Neil Russell
ID: 40485008
@it_saige
If you read the question, the data was coming from a Monet type database field. So it is not going to contain "I am not money" hence I never made assumptions about type and gave what was required for this scenario.
Had the source of the data been unknown then yes, yours would be safe.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question