Вы можете конвертировать tot
строки в числовое значение, а затем использовать string.Format
, чтобы получить желаемый формат:
string tot = "19950000";
string output = string.Format("{0:n2}", Convert.ToInt32(tot));
Debug.WriteLine(output); //19,950,000.00 on my machine
или альтернативно:
string output2 = Convert.ToInt32(tot).ToString("n2");
Они оба культуры конкретной, так может отображаться по-разному на разных компьютерах пользователей (в индийской культуре будет отображатьсяНапример,).
Если вы хотите силу трехзначный запятой группировки, то вы можете указать культуру использовать:
string output2 = Convert.ToInt32(tot).ToString("n2", CultureInfo.CreateSpecificCulture("en-GB"));
//19,950,000.00 on any machine
Это звучит как tot
не может быть числовым значением, поэтому, прежде чем должны проверить это пытаясь отформатировать его:
string tot = "19950000";
int totInt;
if (Int32.TryParse(tot, out totInt))
{
string output = totInt.ToString("n2", CultureInfo.CreateSpecificCulture("en-GB"));
MessageBox.Show(output);
}
else
{
MessageBox.Show("tot could not be parsed to an Int32");
}
Каковы ваши фактические и ожидаемые результаты? –
Я бы просмотрел https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx – elyashiv
Я ожидаю, что значение на этикетке будет показано следующим образом: 19,950,000.00 – Mike