Я не хочу делать округления, прямо вверх, "39%".
"39%"
Так что "9.99%" должно стать "9%".
"9.99%"
"9%"
Надеюсь, это сработает.
string str = "39,999%"; string [] Output = str.Split ('.');
string str = "39,999%";
string [] Output = str.Split ('.');
На выходе [0] будет ваш ответ.
Спасибо
string myPercentage = "48.8983%"; string newString = myPercentage.Replace("%",""); int newNumber = (int)Math.Truncate(Double.Parse(newString)); Console.WriteLine(newNumber + "%");
Может быть, есть сотни способов сделать это, и это только один:)
Вероятно, Regex. Я не мастер регулярных выражений, я обычно избегаю их, как чума, но, похоже, это работает.
string num = "39.988%"; string newNum = Regex.Replace(num, @"\.([0-9]+)%", "%");
Теперь у нас есть два вопроса, задающих одно и то же ..
Вот мой треск на этом.
"39.9983%".Split('.')[0] + "%";
int.Parse("39.999%".Split('.')[0])
Это дает вам хороший int, с которым вы можете работать так, как считаете нужным. Вы можете наклеить знак% на конце, с какой бы цепочкой строк ни плыла ваша лодка.
Один из способов сделать это:
"39.999%".Split(new char[] { '.' })[0] + "%";
Console.WriteLine("{0}%", (int)39.9983);
Полагаю, вы хотите вернуть строку?Наверное, самый ленивый способ сделать это:
string mynum = "39.999%" mynum = mynum.substring(0, mynum.IndexOf('.')); mynum += "%";
Чтобы получить int, вы можете привести результат в строке 2.