How do I convert the string “39.9983%” into “39%” in C#? – Education Career Blog

I don’t want to do any rounding, straight up, "39%".

So "9.99%" should become "9%".


I hope this will work.

string str = “39.999%”;

string Output = str.Split(‘.’);

Output0 will have your Answer.



string myPercentage = "48.8983%";

string newString = myPercentage.Replace("%","");

int newNumber = (int)Math.Truncate(Double.Parse(newString));

Console.WriteLine(newNumber + "%");

There maybe hundred ways of doing this and this is just one 🙂


Probably a Regex. I’m no master of regular expressions, I generally avoid them like the plague, but this seems to work.

string num = "39.988%";
string newNum = Regex.Replace(num, @"\.(0-9+)%", "%");


One way to do it:

"39.999%".Split(new char { '.' })0 + "%";



Doing this gives you a nice int that you can work with as you see fit. You can stick a % sign on the end with whatever string concatenation floats your boat.


Now we have two questions asking the same thing..

Heres my crack at it.

"39.9983%".Split('.')0 + "%";


Console.WriteLine("{0}%", (int)39.9983);


I’m guessing you want a string returned? Probably the laziest way to do it:

    string mynum = "39.999%"
    mynum = mynum.substring(0, mynum.IndexOf('.'));
    mynum += "%";

To get an int, you could cast the result of line 2.

Leave a Comment