Преобразование Decimal в string с нестандартным форматом
Мне нужно преобразовать decimal в string, в этих линейках:
120.00 - "120"
120.01 - "120.01"
120.50 - "120.50"
4 ответов
можно использовать decimal.ToString
переопределить, чтобы указать форматирование.
decimal amount = 120.00m;
string str = amount.ToString("0.00");
Это также можно использовать при использовании String.Format
.
Console.WriteLine("{0:0.00}", amount);
в случае вашего первого правила это нельзя сделать на одной строке.
decimal amount = 120.00m;
string str = amount.ToString("0.00").Replace(".00", String.Empty);
есть разные перегрузки decimal.ToString
на основе того, какое форматирование вы хотите.
пример
decimal d = 5.00
Console.WriteLine(d.ToString("C")); // for currency
см. ниже для других перегрузок... specifier
- это то, что вы вкладываете в ToString(specifier)
документация MSDN по Decimal.Метод toString
десятичное значение = 16325.62 м; спецификатор строки;
// Use standard numeric format specifiers.
specifier = "G";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: G: 16325.62
specifier = "C";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: C: ,325.62
specifier = "E04";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: E04: 1.6326E+004
specifier = "F";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: F: 16325.62
specifier = "N";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: N: 16,325.62
specifier = "P";
Console.WriteLine("{0}: {1}", specifier, (value/10000).ToString(specifier));
// Displays: P: 163.26 %
// Use custom numeric format specifiers.
specifier = "0,0.000";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: 0,0.000: 16,325.620
specifier = "#,#.00#;(#,#.00#)";
Console.WriteLine("{0}: {1}", specifier, (value*-1).ToString(specifier));
// Displays: #,#.00#;(#,#.00#): (16,325.62)
можно использовать decimal.Tostring()
метод
pls пройти по этой ссылке для подробнее
использовать decimal.ToString () метод. Вы можете указать формат с помощью этого метода, Если вам нужно:
decimal d = 120.00;
string ds = d.ToString("#,#.00#");
// ds is a formated string of d's value