Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > .NET General

Vista - Displaying Currency on a VB . NET windows form

Reply
 
Old 07-08-2009   #1 (permalink)
MS Access Question


 
 

Displaying Currency on a VB . NET windows form

I have a SQL Server Table, with a Money/Currency type.
I wish to display it with a dollar sign and however much it is without any
decimals.
I tried using the Masked Text box control, but no luck.
How do I display this value on a Windows Form in Visual Studio 2008 ?
Thanks

My System SpecsSystem Spec
Old 07-08-2009   #2 (permalink)
Gregory A. Beamer


 
 

Re: Displaying Currency on a VB . NET windows form

=?Utf-8?B?TVMgQWNjZXNzIFF1ZXN0aW9u?=
<MSAccessQuestion@xxxxxx> wrote in
news:07D1697D-545F-442A-9A8C-6DF74192AA29@xxxxxx:
Quote:

> I have a SQL Server Table, with a Money/Currency type.
> I wish to display it with a dollar sign and however much it is without
> any decimals.
> I tried using the Masked Text box control, but no luck.
> How do I display this value on a Windows Form in Visual Studio 2008 ?
> Thanks
>
One option is formatting the string you bind to the textbox.

val.ToString("c");

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

*******************************************
| Think outside the box! |
*******************************************
My System SpecsSystem Spec
Old 07-08-2009   #3 (permalink)
MS Access Question


 
 

Re: Displaying Currency on a VB . NET windows form

If it were a string, I would understand this. It's not a string. It is a SQL
Server Money type column.
Why is there not a "picture" or "format" property to put in something like
$#,### similar to MS Access?
A date field has a "format" property. I would think it would be similar to
this. Can you advise ?
Thanks,

"Gregory A. Beamer" wrote:
Quote:

> =?Utf-8?B?TVMgQWNjZXNzIFF1ZXN0aW9u?=
> <MSAccessQuestion@xxxxxx> wrote in
> news:07D1697D-545F-442A-9A8C-6DF74192AA29@xxxxxx:
>
Quote:

> > I have a SQL Server Table, with a Money/Currency type.
> > I wish to display it with a dollar sign and however much it is without
> > any decimals.
> > I tried using the Masked Text box control, but no luck.
> > How do I display this value on a Windows Form in Visual Studio 2008 ?
> > Thanks
> >
>
> One option is formatting the string you bind to the textbox.
>
> val.ToString("c");
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
>
> Twitter: @gbworld
> Blog: http://gregorybeamer.spaces.live.com
>
> *******************************************
> | Think outside the box! |
> *******************************************
>
My System SpecsSystem Spec
Old 07-09-2009   #4 (permalink)
Morten Wennevik [C# MVP]


 
 

Re: Displaying Currency on a VB . NET windows form

In .Net the database type 'money' would translate to the .Net type 'decimal'.
Calling decimal.ToString("c") would create a currency formatted string
object containing the actual value as well as a currency symbol from the
current culture. You can put this string object in a TextBox. If you only
want the integer value you can use c0 as the format to specify 0 decimal
places. The value would be rounded.

decimal d = 12.87m;
textBox1.Text = d.ToString("c0", CultureInfo.GetCultureInfo("en-US")); // $13

Specifying the CultureInfo is optional, but on my Norwegian system it would
otherwise output "kr 13";

--
Happy Coding!
Morten Wennevik [C# MVP]


"MS Access Question" wrote:
Quote:

> If it were a string, I would understand this. It's not a string. It is a SQL
> Server Money type column.
> Why is there not a "picture" or "format" property to put in something like
> $#,### similar to MS Access?
> A date field has a "format" property. I would think it would be similar to
> this. Can you advise ?
> Thanks,
>
> "Gregory A. Beamer" wrote:
>
Quote:

> > =?Utf-8?B?TVMgQWNjZXNzIFF1ZXN0aW9u?=
> > <MSAccessQuestion@xxxxxx> wrote in
> > news:07D1697D-545F-442A-9A8C-6DF74192AA29@xxxxxx:
> >
Quote:

> > > I have a SQL Server Table, with a Money/Currency type.
> > > I wish to display it with a dollar sign and however much it is without
> > > any decimals.
> > > I tried using the Masked Text box control, but no luck.
> > > How do I display this value on a Windows Form in Visual Studio 2008 ?
> > > Thanks
> > >
> >
> > One option is formatting the string you bind to the textbox.
> >
> > val.ToString("c");
> >
> > --
> > Gregory A. Beamer
> > MVP; MCP: +I, SE, SD, DBA
> >
> > Twitter: @gbworld
> > Blog: http://gregorybeamer.spaces.live.com
> >
> > *******************************************
> > | Think outside the box! |
> > *******************************************
> >
My System SpecsSystem Spec
Old 07-09-2009   #5 (permalink)
VBStudioLosAngeles


 
 

Re: Displaying Currency on a VB . NET windows form

Thank you, Morten.
I am not exactly clear on where to put this, in the code behind forms ?
Why am I able to "format" a date object easily with the "Format" property,
and this is much more unintuitive ?
Isn't there a property that just can be set on how to display the Money, as
it should be displayed in form for intutivitive and easy reading?
I am confused !
Thank you !

"Morten Wennevik [C# MVP]" wrote:
Quote:

> In .Net the database type 'money' would translate to the .Net type 'decimal'.
> Calling decimal.ToString("c") would create a currency formatted string
> object containing the actual value as well as a currency symbol from the
> current culture. You can put this string object in a TextBox. If you only
> want the integer value you can use c0 as the format to specify 0 decimal
> places. The value would be rounded.
>
> decimal d = 12.87m;
> textBox1.Text = d.ToString("c0", CultureInfo.GetCultureInfo("en-US")); // $13
>
> Specifying the CultureInfo is optional, but on my Norwegian system it would
> otherwise output "kr 13";
>
> --
> Happy Coding!
> Morten Wennevik [C# MVP]
>
>
> "MS Access Question" wrote:
>
Quote:

> > If it were a string, I would understand this. It's not a string. It is a SQL
> > Server Money type column.
> > Why is there not a "picture" or "format" property to put in something like
> > $#,### similar to MS Access?
> > A date field has a "format" property. I would think it would be similar to
> > this. Can you advise ?
> > Thanks,
> >
> > "Gregory A. Beamer" wrote:
> >
Quote:

> > > =?Utf-8?B?TVMgQWNjZXNzIFF1ZXN0aW9u?=
> > > <MSAccessQuestion@xxxxxx> wrote in
> > > news:07D1697D-545F-442A-9A8C-6DF74192AA29@xxxxxx:
> > >
> > > > I have a SQL Server Table, with a Money/Currency type.
> > > > I wish to display it with a dollar sign and however much it is without
> > > > any decimals.
> > > > I tried using the Masked Text box control, but no luck.
> > > > How do I display this value on a Windows Form in Visual Studio 2008 ?
> > > > Thanks
> > > >
> > >
> > > One option is formatting the string you bind to the textbox.
> > >
> > > val.ToString("c");
> > >
> > > --
> > > Gregory A. Beamer
> > > MVP; MCP: +I, SE, SD, DBA
> > >
> > > Twitter: @gbworld
> > > Blog: http://gregorybeamer.spaces.live.com
> > >
> > > *******************************************
> > > | Think outside the box! |
> > > *******************************************
> > >
My System SpecsSystem Spec
Old 07-09-2009   #6 (permalink)
VBStudioLosAngeles


 
 

Re: Displaying Currency on a VB . NET windows form

For Example, Morten, the SQL Server Report Writer easily displays a format
property, where C0 can be input to make money types display as currency
without decimals, and include the commas. I would think this same property
would (should) be available in Visual Studio 2008 for a windows form.

"Morten Wennevik [C# MVP]" wrote:
Quote:

> In .Net the database type 'money' would translate to the .Net type 'decimal'.
> Calling decimal.ToString("c") would create a currency formatted string
> object containing the actual value as well as a currency symbol from the
> current culture. You can put this string object in a TextBox. If you only
> want the integer value you can use c0 as the format to specify 0 decimal
> places. The value would be rounded.
>
> decimal d = 12.87m;
> textBox1.Text = d.ToString("c0", CultureInfo.GetCultureInfo("en-US")); // $13
>
> Specifying the CultureInfo is optional, but on my Norwegian system it would
> otherwise output "kr 13";
>
> --
> Happy Coding!
> Morten Wennevik [C# MVP]
>
>
> "MS Access Question" wrote:
>
Quote:

> > If it were a string, I would understand this. It's not a string. It is a SQL
> > Server Money type column.
> > Why is there not a "picture" or "format" property to put in something like
> > $#,### similar to MS Access?
> > A date field has a "format" property. I would think it would be similar to
> > this. Can you advise ?
> > Thanks,
> >
> > "Gregory A. Beamer" wrote:
> >
Quote:

> > > =?Utf-8?B?TVMgQWNjZXNzIFF1ZXN0aW9u?=
> > > <MSAccessQuestion@xxxxxx> wrote in
> > > news:07D1697D-545F-442A-9A8C-6DF74192AA29@xxxxxx:
> > >
> > > > I have a SQL Server Table, with a Money/Currency type.
> > > > I wish to display it with a dollar sign and however much it is without
> > > > any decimals.
> > > > I tried using the Masked Text box control, but no luck.
> > > > How do I display this value on a Windows Form in Visual Studio 2008 ?
> > > > Thanks
> > > >
> > >
> > > One option is formatting the string you bind to the textbox.
> > >
> > > val.ToString("c");
> > >
> > > --
> > > Gregory A. Beamer
> > > MVP; MCP: +I, SE, SD, DBA
> > >
> > > Twitter: @gbworld
> > > Blog: http://gregorybeamer.spaces.live.com
> > >
> > > *******************************************
> > > | Think outside the box! |
> > > *******************************************
> > >
My System SpecsSystem Spec
Old 07-09-2009   #7 (permalink)
Morten Wennevik [C# MVP]


 
 

Re: Displaying Currency on a VB . NET windows form

Well,

A DateTime or Decimal does not know or care how it is displayed, including
wether t use dot or comma as decimal separator or how to format the date and
time. The formatting is only interesting when you display the object in some
way. The ToString method is often used and therefore supports number and
time format specifiers. In the end they all have to be converted to some
form of string to be displayed. If you try copying data from the money
column into an excel spreadsheet you may be lucky and find that it remains a
floating point number, but you are actually copying string values, and for me
it fails miserably as . is a thousand separator in Norway. Excel takes a
wild guess and guesses wrong.

I'm not too familiar with MS Access, but a MaskedTextBox does have a Mask
property which will take "$#,###" as a value. In fact, MaskedTextBox is
based on the MaskedEdit control in VB6 which I suspect is very close to what
MS Access uses.

I have a sneaking suspicion that I'm not answering what you are asking, and
if so I apologize.

--
Happy Coding!
Morten Wennevik [C# MVP]


"VBStudioLosAngeles" wrote:
Quote:

> Thank you, Morten.
> I am not exactly clear on where to put this, in the code behind forms ?
> Why am I able to "format" a date object easily with the "Format" property,
> and this is much more unintuitive ?
> Isn't there a property that just can be set on how to display the Money, as
> it should be displayed in form for intutivitive and easy reading?
> I am confused !
> Thank you !
>
> "Morten Wennevik [C# MVP]" wrote:
>
Quote:

> > In .Net the database type 'money' would translate to the .Net type 'decimal'.
> > Calling decimal.ToString("c") would create a currency formatted string
> > object containing the actual value as well as a currency symbol from the
> > current culture. You can put this string object in a TextBox. If you only
> > want the integer value you can use c0 as the format to specify 0 decimal
> > places. The value would be rounded.
> >
> > decimal d = 12.87m;
> > textBox1.Text = d.ToString("c0", CultureInfo.GetCultureInfo("en-US")); // $13
> >
> > Specifying the CultureInfo is optional, but on my Norwegian system it would
> > otherwise output "kr 13";
> >
> > --
> > Happy Coding!
> > Morten Wennevik [C# MVP]
> >
> >
> > "MS Access Question" wrote:
> >
Quote:

> > > If it were a string, I would understand this. It's not a string. It is a SQL
> > > Server Money type column.
> > > Why is there not a "picture" or "format" property to put in something like
> > > $#,### similar to MS Access?
> > > A date field has a "format" property. I would think it would be similar to
> > > this. Can you advise ?
> > > Thanks,
> > >
> > > "Gregory A. Beamer" wrote:
> > >
> > > > =?Utf-8?B?TVMgQWNjZXNzIFF1ZXN0aW9u?=
> > > > <MSAccessQuestion@xxxxxx> wrote in
> > > > news:07D1697D-545F-442A-9A8C-6DF74192AA29@xxxxxx:
> > > >
> > > > > I have a SQL Server Table, with a Money/Currency type.
> > > > > I wish to display it with a dollar sign and however much it is without
> > > > > any decimals.
> > > > > I tried using the Masked Text box control, but no luck.
> > > > > How do I display this value on a Windows Form in Visual Studio 2008 ?
> > > > > Thanks
> > > > >
> > > >
> > > > One option is formatting the string you bind to the textbox.
> > > >
> > > > val.ToString("c");
> > > >
> > > > --
> > > > Gregory A. Beamer
> > > > MVP; MCP: +I, SE, SD, DBA
> > > >
> > > > Twitter: @gbworld
> > > > Blog: http://gregorybeamer.spaces.live.com
> > > >
> > > > *******************************************
> > > > | Think outside the box! |
> > > > *******************************************
> > > >
My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
Currency Calculator General Discussion
Currency Gadget not updating Vista General
Windows Sidebar - Currency not updating Vista General
Monopoly (US/English/Currency) game that will run on vista and dointernet multiplayer? Vista General
Currency sidebar gadget malfunction Vista performance & maintenance


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46