convert String to Decimal
-
Hi codeproject World ! How can i convert string to decimal and remove unused Zero . example : string decimal = "192.0205000"; Decimal D = Decimal.Parse(decimal); and wanna to have : D = 192.0205 NOT D= 192.0205000 PLZ HELP !
-
Yes it returns : D= 192.0205000 BUT I wanna
D= 192.0205 ====> Without unUsed Zeros
-
Yes it returns : D= 192.0205000 BUT I wanna
D= 192.0205 ====> Without unUsed Zeros
Either strip the zeros off the string or use Math.Round
I know the language. I've read a book. - _Madmatt
-
Hi codeproject World ! How can i convert string to decimal and remove unused Zero . example : string decimal = "192.0205000"; Decimal D = Decimal.Parse(decimal); and wanna to have : D = 192.0205 NOT D= 192.0205000 PLZ HELP !
decimal d= decimal.Parse("1120.00120000",System.Globalization.NumberStyles.AllowDecimalPoint);
-
decimal d= decimal.Parse("1120.00120000",System.Globalization.NumberStyles.AllowDecimalPoint);
Just a minor point - in numeric terms, 1120.00120000 is exactly the same as 1120.0012. If you're doing a calculation using a decimal then it doesn't make much sense to round trim it.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith
As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
-
Yes it returns : D= 192.0205000 BUT I wanna
D= 192.0205 ====> Without unUsed Zeros
JYIS, they aren't there! They don't exist! Edit: I posted that before I saw that you were using Decimal rather than Double. ToString: " The return value is formatted with the general numeric format specifier ("G"), and the NumberFormatInfo object for the current culture. " G: " The exception to the preceding rule is if the number is a Decimal and the precision specifier is omitted. In that case, fixed-point notation is always used and trailing zeroes are preserved. "
modified on Wednesday, April 28, 2010 9:38 PM
-
Just a minor point - in numeric terms, 1120.00120000 is exactly the same as 1120.0012. If you're doing a calculation using a decimal then it doesn't make much sense to round trim it.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith
As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
Indeed, though there is a difference in some situations, such as when using ToString(). Try running this:
string strD = "192.0205000";
Decimal D = Decimal.Parse(strD);
MessageBox.Show(D.ToString());
// Outputs: 192.0205000I never knew that the Decimal data type actually maintains the trailing zeroes. :doh:
-
Hi codeproject World ! How can i convert string to decimal and remove unused Zero . example : string decimal = "192.0205000"; Decimal D = Decimal.Parse(decimal); and wanna to have : D = 192.0205 NOT D= 192.0205000 PLZ HELP !
Excellent question! And thanks for providing the answer. I had no idea the Decimal data type stores trailing zeroes.
jojoba2011 wrote:
PLZ HELP !
Just a bit of friendly advice... avoid using uppercase when not necessary, don't beg for help, and don't shorten words (e.g., "PLZ") except for common acronyms. To many people here at Code Project, it appears unprofessional. Other than that, though, great question. :thumbsup: EDIT: It appears your answer is incorrect.
modified on Thursday, April 29, 2010 1:21 AM
-
JYIS, they aren't there! They don't exist! Edit: I posted that before I saw that you were using Decimal rather than Double. ToString: " The return value is formatted with the general numeric format specifier ("G"), and the NumberFormatInfo object for the current culture. " G: " The exception to the preceding rule is if the number is a Decimal and the precision specifier is omitted. In that case, fixed-point notation is always used and trailing zeroes are preserved. "
modified on Wednesday, April 28, 2010 9:38 PM
PIEBALDconsult wrote:
JYIS
What does that mean?
PIEBALDconsult wrote:
they aren't there! They don't exist!
The trailing zeroes? Yes they do. See here.
-
decimal d= decimal.Parse("1120.00120000",System.Globalization.NumberStyles.AllowDecimalPoint);
I see no difference.
-
Hi codeproject World ! How can i convert string to decimal and remove unused Zero . example : string decimal = "192.0205000"; Decimal D = Decimal.Parse(decimal); and wanna to have : D = 192.0205 NOT D= 192.0205000 PLZ HELP !
This is merely a quirk of the "G" format; when
ToString
ing a Decimal, use something along the lines ofd.ToString ( "#.###############" )
. -
Hi codeproject World ! How can i convert string to decimal and remove unused Zero . example : string decimal = "192.0205000"; Decimal D = Decimal.Parse(decimal); and wanna to have : D = 192.0205 NOT D= 192.0205000 PLZ HELP !
hello there... try this link...http://www.csharp-examples.net/string-format-double/[^] hope this help...
-
This is merely a quirk of the "G" format; when
ToString
ing a Decimal, use something along the lines ofd.ToString ( "#.###############" )
. -
That's basically what the default is and I don't think it works.
-
That's basically what the default is and I don't think it works.
Worked for me.
-
Hi codeproject World ! How can i convert string to decimal and remove unused Zero . example : string decimal = "192.0205000"; Decimal D = Decimal.Parse(decimal); and wanna to have : D = 192.0205 NOT D= 192.0205000 PLZ HELP !
After reading what everybody has said, I think you want this:
Decimal d = Decimal.Parse(Decimal.Parse("192.0205000").ToString("G29"));