double aa=7.8;
Console.WriteLine("{0:C}", aa);
我这样总是输出:¥8
如何才能输出:¥7.8
谢谢!

解决方案 »

  1.   

    .NET 在调用string.Format()格式化货币时
    会调用当前线程的语言信息
    你查看下控制面板中 区域与语言 一项的设置是否正确
      

  2.   

    参考这个:        System.Globalization.NumberFormatInfo GN = new System.Globalization.CultureInfo("zh-CN", false).NumberFormat;
            Int64 myInt = 123456789;
            private void button1_Click(object sender, EventArgs e)
            {
                GN.CurrencyDecimalSeparator = "$";
                MessageBox.Show("定义前:" + myInt.ToString("C") + "\n" + "定义后:" + myInt.ToString("C", GN), "自定义小数点为$符");
            }
            private void button2_Click(object sender, EventArgs e)
            {
                GN.CurrencyDecimalSeparator = "*";
                MessageBox.Show("定义前:" + myInt.ToString("C") + "\n" + "定义后:" + myInt.ToString("C", GN), "自定义小数点为*符");
            }