C#. Сплит строка с точкой после второго символа - PullRequest
1 голос
/ 20 апреля 2020

Я действительно новичок в C#, и я борюсь со следующим:

Мне нужно преобразовать int из 1231 в 31.12, если входное значение имеет 4 символа.

public static int ConvertToStringWithDot(int input) 
{

   var result = input.ToString();

   if (result.Length < 5) 
   {
     result.Split    // how to procceed with spliting by dot after second character ?
   }
   return result.Reverse
} 

Правильно ли я подхожу к проблеме? Пожалуйста, помогите.

Ответы [ 3 ]

2 голосов
/ 20 апреля 2020

Если ваша цель - преобразовать число, вам не нужно использовать строковые операции, а использовать простую математику, например:

public static decimal ConvertToStringWithDot(int input)
    {
        if (input >= 1000 && input <= 9999)
        {
            int tmp1 = input / 100;
            int tmp2 = input % 100;
            var result = tmp2 + (decimal)(tmp1) / 100;
            return result;
        }
        return input;
    }
2 голосов
/ 20 апреля 2020

Split используется для «разделения» строки на несколько частей вокруг разделителя . У вас нет разделителя - вы хотите вставить один. Самый простой способ - просто использовать Substring для извлечения двух частей:

if (result.Length == 4) {
             //characters 2,3              characters 0,1
    result = result.Substring(2,2) + "." + result.Substring(0,2);
}
0 голосов
/ 20 апреля 2020

Что-то вроде:

public static string ConvertToStringWithDot(int input)
{

  var result = input.ToString();

  if (result.Length == 4)
  {
    var firstPart = result.Substring(0, 2);
    var secondPart = result.Substring(2);
    return $"{secondPart}.{firstPart}";
  }
  return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...