Как поставить десятичную точку в целом числе - PullRequest
0 голосов
/ 21 октября 2019

Я читаю текстовый файл из банка со строкой чисел. 0000000010050, сумма этой строки составляет $ 100.50, но есть ли способ вставить десятичную точку в строку? вот мой код.

string amount = 0000000010050; 
string f_amount = "";
string ff_amount = "";
decimal d_amount = 0;

f_amount = amount.Trim();
d_amount = int.Parse(f_amount.TrimStart('0')); // this part removes the zeros and the output is 10050.
ff_amount = string.Format("{0:0,0.00}", d_amount); // this line outputs 10050.00

как сделать так, чтобы вывод выглядел следующим образом 100.50?

Ответы [ 2 ]

3 голосов
/ 21 октября 2019

Сначала преобразуйте строку в десятичную и примените строку. Форматируйте таким образом

string.Format("{0:#.00}", Convert.ToDecimal(bankString) / 100);

, это даст результат 100.50

https://dotnetfiddle.net/WrRVFo

1 голос
/ 21 октября 2019

Примерно так (давайте учтем CultureInfo)

  using System.Globalization;

  ... 

  string amount = "0000000010050";

  amount = amount
    .Insert(amount.Length - CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalDigits,
            CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator)
    .TrimStart('0');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...