【问题标题】:String.Format way to format Currency without CentsString.Format 格式化没有美分货币的方法
【发布时间】:2010-08-31 00:22:13
【问题描述】:

我正在使用当前方法显示货币

String.Format("{0:C}", item.DonationAmount)

输出像 $10.00

我们将处理大量美元,而不是一分钱。我们希望货币显示为 10 美元,不带小数点或零。我怎样才能做到这一点?删除货币格式会使数字显示为 10.0000 :( 在此先感谢。

【问题讨论】:

    标签: c# string-formatting


    【解决方案1】:

    指定您想要零个小数位:

    String.Format("{0:C0}", item.DonationAmount)
    

    【讨论】:

    • 这会在美分前面添加一个“C”。供参考。使用 c0 来避免这种情况。
    • 我没有在前面看到“C” - dotnetfiddle.net/0hCG6f - 而docs 说“C”相当于“c” - 你有一个可重复的例子吗?您使用什么文化?
    【解决方案2】:

    如果 item.DonationAmountnon-nullable decimal 那么你可以这样做:

    item.DonationAmount.ToString("c0");
    

    如果您检查的item.DonationAmountnullable decimal 有一个值,那么您可以这样做:

    item.DonationAmount.Value.ToString("c0");
    

    或在C# 的较新版本中,不需要您检查它是否有值:

    item.DonationAmount?.ToString("c0");
    

    【讨论】:

    • 了解非常有用。你知道哪个版本的 C# 添加了对 item.DonationAmount?.ToString("c0"); 示例的支持吗?
    【解决方案3】:
      decimal value = 0.00M;
            value = Convert.ToDecimal(12345.12345);
            Console.WriteLine(".ToString(\"C\") Formates With Currency $ Sign");
            Console.WriteLine(value.ToString("C"));
            //OutPut : $12345.12
            Console.WriteLine(value.ToString("C1"));
            //OutPut : $12345.1
            Console.WriteLine(value.ToString("C2"));
            //OutPut : $12345.12
            Console.WriteLine(value.ToString("C3"));
            //OutPut : $12345.123
            Console.WriteLine(value.ToString("C4"));
            //OutPut : $12345.1235
            Console.WriteLine(value.ToString("C5"));
            //OutPut : $12345.12345
            Console.WriteLine(value.ToString("C6"));
            //OutPut : $12345.123450
            Console.WriteLine();
            Console.WriteLine(".ToString(\"F\") Formates With out Currency Sign");
            Console.WriteLine(value.ToString("F"));
            //OutPut : 12345.12
            Console.WriteLine(value.ToString("F1"));
            //OutPut : 12345.1
            Console.WriteLine(value.ToString("F2"));
            //OutPut : 12345.12
            Console.WriteLine(value.ToString("F3"));
            //OutPut : 12345.123
            Console.WriteLine(value.ToString("F4"));
            //OutPut : 12345.1235
            Console.WriteLine(value.ToString("F5"));
            //OutPut : 12345.12345
            Console.WriteLine(value.ToString("F6"));
            //OutPut : 12345.123450
    
            Console.WriteLine();
            Console.WriteLine(".ToString(\"N\") Formates With out Currency Sign");
            Console.WriteLine(value.ToString("N"));
            //OutPut : 12,345.12
            Console.WriteLine(value.ToString("N1"));
            //OutPut : 12,345.1
            Console.WriteLine(value.ToString("N2"));
            //OutPut : 12,345.12
            Console.WriteLine(value.ToString("N3"));
            //OutPut : 12,345.123
            Console.WriteLine(value.ToString("N4"));
            //OutPut : 12,345.1235
            Console.WriteLine(value.ToString("N5"));
            //OutPut : 12,345.12345
            Console.WriteLine(value.ToString("N6"));
            //OutPut : 12,345.123450
    
            Console.WriteLine();
            Console.WriteLine(".ToString(\"P\") Formates With Percentage (i.e multiply by 100)");
            Console.WriteLine(value.ToString("P"));
            //OutPut : 1,2345,12.35%
            Console.WriteLine(value.ToString("P1"));
            //OutPut : 1,2345,12.3%
            Console.WriteLine(value.ToString("P2"));
            //OutPut : 12345,12.35%
            Console.WriteLine(value.ToString("P3"));
            //OutPut : 12345,12.345%
            Console.WriteLine(value.ToString("P4"));
            //OutPut : 12345,12.3450%
            Console.WriteLine(value.ToString("P5"));
            //OutPut : 12345,12.34500%
            Console.WriteLine(value.ToString("P6"));
            //OutPut : 12345,12.345000%
    
    
            Console.Read();
    

    Click to see Console Out Put Screen

    希望对您有所帮助...

    谢谢。 :)

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 1970-01-01
      • 2019-06-24
      • 2018-03-29
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多