Есть число типа decimal в C#.
Условно 1 000 000 000 000
Желательно отображать его в виде 1Т (Трилион), при этом желательно, что-бы была возможность и такого отображения:
1 250 000 000 000 = 1.25T
Перерыл уже много статей, но решения так и не нашёл.
Как можно реализовать такое сокращение?
1 000 = 1К || 1 250 = 1.25К
1 000 000 = 1М || 1 250 000 = 1.25M
и т.д.
ВСе что я смог найти, но не очень хорошо работает.
char[] names = { 'K', 'M', 'B', 'T', ...};
private string __CutDigit(string digit)
{
var dotIdx = digit.IndexOf('.');
if (dotIdx < 0) dotIdx = digit.Length;
var triples = dotIdx / 3;
var num = dotIdx % 3;
return digit.Substring(0, num) + '.' + digit[num] + names[triples];
}