String.Format在没有Cents的情况下格式化Currency的方法

Gal*_*len 50 string-formatting

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

String.Format("{0:C}", item.DonationAmount)
Run Code Online (Sandbox Code Playgroud)

哪个输出像10.00美元

我们将处理大笔金额,而不是美分.我们希望货币显示为10美元,不带小数或零.我怎样才能做到这一点?删除货币格式使数字显示为10.0000 :(提前感谢.

stu*_*rtd 108

指定您想要零小数位:

String.Format("{0:C0}", item.DonationAmount)
Run Code Online (Sandbox Code Playgroud)

  • 这会在分前面添加一个“C”。供参考。使用 c0 可以避免这种情况。 (2认同)

Ser*_*gan 11

如果item.DonationAmount是,non-nullable decimal那么你可以这样做:

item.DonationAmount.ToString("c0");
Run Code Online (Sandbox Code Playgroud)

如果item.DonationAmountnullable decimal,你签有一个值,那么你可以这样做:

item.DonationAmount.Value.ToString("c0");
Run Code Online (Sandbox Code Playgroud)

或从不版本C#,不要求您检查它是否有值:

item.DonationAmount?.ToString("c0");
Run Code Online (Sandbox Code Playgroud)


Bha*_*tap 6

  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();
Run Code Online (Sandbox Code Playgroud)

点击查看Console Out Put Screen

希望这可以帮助你......

谢谢.:)