C# 在c中将字符串值格式化为$xx.xx格式

C# 在c中将字符串值格式化为$xx.xx格式,c#,arrays,xml,c#-4.0,C#,Arrays,Xml,C# 4.0,我有下面的数组,它有以下值{$100.0,$1000.0,$-1000.0} 我需要将值显示为$xxx.xx,并在括号中显示负数,因此将$1000.0显示为$1000.00,将$1000.0显示为$1000.00编辑: 由于您希望在字符串中添加额外的0,因此我建议您首先将其转换为双精度值,检查该值是否为正值或负值,然后根据计算结果,决定乘/不乘-1,然后使用ToString F2格式重新打印 编辑: 由于您希望在字符串中添加额外的0,因此我建议您首先将其转换为双精度值,检查该值是否为正值或负值,

我有下面的数组,它有以下值{$100.0,$1000.0,$-1000.0} 我需要将值显示为$xxx.xx,并在括号中显示负数,因此将$1000.0显示为$1000.00,将$1000.0显示为$1000.00

编辑:

由于您希望在字符串中添加额外的0,因此我建议您首先将其转换为双精度值,检查该值是否为正值或负值,然后根据计算结果,决定乘/不乘-1,然后使用ToString F2格式重新打印

编辑:

由于您希望在字符串中添加额外的0,因此我建议您首先将其转换为双精度值,检查该值是否为正值或负值,然后根据计算结果,决定乘/不乘-1,然后使用ToString F2格式重新打印

解析为十进制,这是处理货币时更好的选择,然后格式化为所需的表示形式:

  String[] source = new String[] { "$100.0", "$1000.0", "$-1000.0" };

  var result = source
    .Select(item => Decimal.Parse(item.Trim('$'), CultureInfo.InvariantCulture))
    .Select(money => money < 0 
             ? String.Format("$({0:F2})", -money) 
             : String.Format("${0:F2}", money));
   //.ToArray(); // in case you want "result" being an array

  // "$100.00, $1000.00, $(1000.00)"
  Console.Write(String.Join(", ", result));
解析为十进制,这是处理货币时更好的选择,然后格式化为所需的表示形式:

  String[] source = new String[] { "$100.0", "$1000.0", "$-1000.0" };

  var result = source
    .Select(item => Decimal.Parse(item.Trim('$'), CultureInfo.InvariantCulture))
    .Select(money => money < 0 
             ? String.Format("$({0:F2})", -money) 
             : String.Format("${0:F2}", money));
   //.ToArray(); // in case you want "result" being an array

  // "$100.00, $1000.00, $(1000.00)"
  Console.Write(String.Join(", ", result));

在数组下面-你忘记放了吗?总税额$1000.0总付款和贷项$0.0到期金额$1000.0调整后的退款$-1000.0添加xml格式的数组您应该把它放在您的问题中。总之,我想澄清一下,您是否已经将其处理为C中的数组?阵列的数据类型是什么?字符串[]?双重[]?您可以根据数据类型进行字符串替换或数学逻辑…我有一个用于类LableValue的数组,它有两个字符串变量,Label和ValueLower-array-您忘了放它吗?总税额$1000.0总付款和贷项$0.0到期金额$1000.0调整后的退款$-1000.0添加xml格式的数组您应该把它放在您的问题中。总之,我想澄清一下,您是否已经将其处理为C中的数组?阵列的数据类型是什么?字符串[]?双重[]?您可以根据您拥有的数据类型进行字符串替换或数学逻辑…我有一个用于类LableValue的数组,它有两个字符串变量,Label和Value
  String[] source = new String[] { "$100.0", "$1000.0", "$-1000.0" };

  var result = source
    .Select(item => Decimal.Parse(item.Trim('$'), CultureInfo.InvariantCulture))
    .Select(money => money < 0 
             ? String.Format("$({0:F2})", -money) 
             : String.Format("${0:F2}", money));
   //.ToArray(); // in case you want "result" being an array

  // "$100.00, $1000.00, $(1000.00)"
  Console.Write(String.Join(", ", result));