这是我的例子
我想删除$
但格式还是一样?我怎么可能做到这一点?
这是我的代码datagridview
dataGridView1.Columns["Amount"].DefaultCellStyle.Format = "c2";
预期产出
(2,138,870,900.11)
19,921,759.23
..and so on
这是我的例子
我想删除$
但格式还是一样?我怎么可能做到这一点?
这是我的代码datagridview
dataGridView1.Columns["Amount"].DefaultCellStyle.Format = "c2";
预期产出
(2,138,870,900.11)
19,921,759.23
..and so on
如果您仍然需要括号来表示否定,请尝试:
dataGridView1.Columns["Amount"].DefaultCellStyle.Format = "#,0.00;(#,0.00)";
或者:
var provider = (CultureInfo)CultureInfo.CurrentCulture.Clone();
provider.NumberFormat.NumberNegativePattern = 0;
dataGridView1.Columns["Amount"].DefaultCellStyle.FormatProvider = provider;
dataGridView1.Columns["Amount"].DefaultCellStyle.Format = "N";
或者:
var provider = (CultureInfo)CultureInfo.CurrentCulture.Clone();
provider.NumberFormat.CurrencySymbol = "";
dataGridView1.Columns["Amount"].DefaultCellStyle.FormatProvider = provider;
dataGridView1.Columns["Amount"].DefaultCellStyle.Format = "C";
但是这些解决方案取决于您当前的文化信息(这可能是一件好事,但我们不知道您使用什么文化,所以我们可能不知道您需要更改哪些属性)。
除了FormatProvider
在每列上设置属性,您还可以执行以下操作:
// change 'provider' clone as before
Thread.CurrentThread.CurrentCulture = provider;
但这会影响您应用程序的所有部分(至少对于相关线程)。
尝试这个:
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.CurrencySymbol = string.Empty;
dataGridView1.Columns["Amount"].DefaultCellStyle.FormatProvider = nfi;
dataGridView1.Columns["Amount"].DefaultCellStyle.Format = "c2";
我在控制台应用程序中尝试了以下操作,它似乎正在工作:
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.CurrencySymbol = string.Empty;
Console.WriteLine(String.Format(nfi, "{0:C2}", -1234567.89));
n2 应该在没有 $ 的情况下为您提供相同的结果。如果不需要千位分隔符,可以使用 f2。