string.Format("{0:0.#####}", 0.0030)
или
var money=1.3000m;
money.ToString("0.#####");
Для дальнейшего использования я рекомендую стандартную ссылку .NET FORMATH от John Shehan.
decimal value = 0.0030m;
value.ToString(“G29″);
Отредактируйте: gifter divatter работает, единственная проблема заключается в том, что она переходит к научной обозначении, если в исходном десятичном десятичном десятином случае есть слишком много значков. Не так идеал.
См. Документация «Генеральный (« G ») Документация« Формат »: http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#gformatstring
Я нахожусь Обед, поэтому я проделал немного теста:
decimal d1 = 0.000100m;
decimal d2 = 0.001000000000000000000000m;
decimal d3 = 0.000000000000001000000000m;
Console.WriteLine(Environment.NewLine + "input decimal: 0.000100m");
Console.WriteLine("G " + d1.ToString("G"));
Console.WriteLine("G29 " + d1.ToString("G29"));
Console.WriteLine("0.####### " + d1.ToString("0.#######"));
Console.WriteLine(Environment.NewLine + "input decimal: 0.001000000000000000000000m");
Console.WriteLine("G " + d2.ToString("G"));
Console.WriteLine("G29 " + d2.ToString("G29"));
Console.WriteLine("0.####### " + d2.ToString("0.#######"));
Console.WriteLine(Environment.NewLine + "input decimal: 0.000000000000001000000000m");
Console.WriteLine("G " + d3.ToString("G"));
Console.WriteLine("G29 " + d3.ToString("G29"));
Console.WriteLine("0.####### " + d3.ToString("0.#######"));
вывод:
input decimal: 0.000100m
G 0.000100
G29 0.0001
0.####### 0.0001
input decimal: 0.001000000000000000000000m
G 0.001000000000000000000000
G29 0.001
0.####### 0.001
input decimal: 0.000000000000001000000000m
G 0.000000000000001000000000
G29 1E-15
0.####### 0
decimal m = 0.030000m;
Console.Write(m.ToString("0.##########"));
Просто убедитесь, что у вас достаточно #s для количества десятичных мест, которые вы хотите отобразить
HMM, это проблема форматирования дисплея (добавляются Zeros, когда вы преобразуете десятичную строку).
Вам нужно увидеть, где в коде вы видите конечные нули. Это после звонка к .tostring ()? Попробуйте играть с различными струнами форматирования:
.ToString("#");
.ToString("0.00");
.ToString("#.##");
и так далее. Лучший способ сделать это просто для эксперимента с различными возможными значениями.