Здравствуйте, nikkit, Вы писали:
N>требуется число (decimal для конкретики) вывести в формате
N>(целая часть или 0, в случае нуля).(дробная часть полностью или 0 если отсутствует)
Копай в сторону
ToString("0.##")
Здравствуйте, nikkit, Вы писали:
N>требуется число (decimal для конкретики) вывести в формате
N>(целая часть или 0, в случае нуля).(дробная часть полностью или 0 если отсутствует)
это где такая красота нужна если не секрет?
0 в целой части ToString и так выводит для decimal
а вот в дробной части decimal хранит количество значащий нулей
их надо самому обрезать/дописывать или в decimal или в строке
using System;
public class Program
{
public static void Main()
{
foreach(decimal a in new[] { 0, 0.0m, 0.000m, 0.456000m})
Console.WriteLine(a.ToString());
}
}
0
0.0
0.000
0.456000
Здравствуйте, nikkit, Вы писали:
N>требуется число (decimal для конкретики) вывести в формате
N>(целая часть или 0, в случае нуля).(дробная часть полностью или 0 если отсутствует)
У меня в классе денег такой код в конце концов прижился:
var hasFraction = Math.Abs(sum % 1m) != 0m;
var sumWriting = sum.ToString(hasFraction ? "N2" : "N0", this.culture);
Здравствуйте, nikkit, Вы писали:
N>требуется число (decimal для конкретики) вывести в формате
N>(целая часть или 0, в случае нуля).(дробная часть полностью или 0 если отсутствует)
SharpLab:
using System;
var values = new[] {
0m,
0.1m,
0.123456789m,
0.012345678901234567890123456789m,
-12.123456789m,
-13m,
123456789.987654321m,
};
foreach(var item in values) {
Console.WriteLine(item.ToString("0.0###########################"));
}
Custom numeric format strings