Find a format string for a decimal without % sign [duplicate] - c#

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How to format a number as percentage without the percentage sign?
I have a decimal:
decimal value = 0.0123m;
The format string "P" will return a string which value is multiple with 100 and add sign % at the end. Example:
string s = value.ToString("P"); // s = "1.23 %"
Please help me to find a format string without including % sign on returned string.
That mean: s will be "1.23" (without sign %)
Please help me. Thanks.

You can set the PercentSymbol property of the NumberFormatInfo to be something other than a % sign.
In your case you could just set it to be an empty string.
More info here
To do this you'll need to define a custom culture with its own NumberFormatInfo. The link to the answer provided in the comments in a great solution:
How to format a number as percentage without the percentage sign?

Related

How to show Zeros when a decimal is converted to string? [duplicate]

This question already has answers here:
Why does 0.ToString("#.##") return an empty string instead of 0.00 or at least 0?
(5 answers)
Closed 8 years ago.
I have several decimal numbers that I need to show as strings (no need for decimal places). I use the following code:
mytextblock.text= mydecimalnumber.ToString("#");
However this code will show nothing if the number is 0. I need to display a "0" instead of an empty string. I can do this using if and else but I don't think this is the best solution to do with many decimal variables.
Some user "David.." posted this answer and it worked for me but then he deleted it later:
He mentioned that ToString("#") will only show digits that are not zeros.
In order to default to 0, I should use ToString("0")

Force two decimal places in C# [duplicate]

This question already has answers here:
Leave only two decimal places after the dot
(13 answers)
Closed 8 years ago.
I've this problem and can't find a solution.
This is super easy and i don't know why can't i find a solution.
Problem:
if a value returns for example "16.60", in c# i'll read "16.6", but i need 0 as well, because of paypal API, wich only accepts a value with no decimal numbers, or if it has to have decimal numbers the minimum and maximum must be 2.
So how can i make this?
i've tried this:
string value_f = "16,6";
decimal value_f_d = decimal.Parse(value_f);
value_f_d = (decimal)Math.Round(value_f_d, 2);
value_f = value_f_d.ToString("#.##");
value_f = value_f.Replace(',', '.');
i want this output: 16.60, but gives this: 16.6
string output = value_f_d.ToString("#.00", CultureInfo.InvariantCulture);
(using System.Globalization in your using declarations at the top)

format decimal number using ToString [duplicate]

This question already has answers here:
Using String Format to show decimal up to 2 places or simple integer
(18 answers)
Closed 9 years ago.
If I got decimal number like 14.50 and I want to be represented like decimal 10.2
0000000014.50
how can I do this?
Thank you
Use custom numeric format string:
var value = 14.50m;
string valueString = value.ToString("0000000000.00");
0 is a placeholder: Replaces the zero with the corresponding digit if one is present; otherwise, zero appears in the result string.
If you don't have an issue with the data type being converted to string then you could use Padding in c#.
Refer the link below :
http://msdn.microsoft.com/en-us/library/66f6d830(v=vs.100).aspx

How to represent comma's in string? [duplicate]

This question already has answers here:
.NET String.Format() to add commas in thousands place for a number
(23 answers)
Closed 9 years ago.
I have a integer like this i.e 3356890. I'm converting it to string and showing on screen.
Now I want to display like this 3,356,890.
How to do?
You can use:
value = 1234567890;
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture));
// Displays 1,234,567,890
However, for the purpose of internationalization and localization, it's probably best to allow the user's current culture settings to determine how to format the number.
Further Reading
Custom Numeric Format Strings
Take a look please here,
Number string format
string res = string.Format(CultureInfo.InvariantCulture, "{0:#,##0}", 3356890);
int val = 3356890;
string valString = val.ToString("#,##0")

Trimming a float [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Leave only two decimal places after the dot
Formatting a float to 2 decimal places
If I have a float that consists of something like 153.2154879, is there any way to convert it to string but only show 4 decimal places? I know I can format it using "000.000", but the front number doesnt always have to be 3 digits. So is there a way to show all the front numbers (153), but only the first 4 characters after the point in a string?
Something like this should do:
your_number.ToString("0.####");
This will show a max of 4 decimal places.
I usually use a format string like "#0.0000".
You can use the C# function Math.Round function.
float a= 153.213456;
Math.Round(a,3);
this would round up the number to 153.213
then get convert it to string.

Categories