字符串 - 前缀负号

时间:2014-09-15 07:47:19

标签: c# string

这种方法遇到了麻烦。奇怪的是,如果我使用此方法传递任何负值,它会在string输出中的TextBox后返回一个负号。我无法弄清楚为什么负号不显示在string前面。

public string MakeCurrency(string variant)
{
    String _denom = "R 0.00";
    try
    {
        if (variant != "")
        {
            decimal _decimal = Math.Round((Convert.ToDecimal(variant)), 2, MidpointRounding.AwayFromZero);
            if (_decimal >= 0)
                _denom = "R " + string.Format("{0:#,###0.00}", _decimal);
            else
                _denom = "-$ " + string.Format("{0:#,###0.00}", Math.Abs(_decimal));

        }
    }

    return _denom;
}

1 个答案:

答案 0 :(得分:0)

你的代码是正确的,并且它给出了写回答,Here我测试了你的代码,它的工作和给出了带负值的正确输出(输出带负号)。

using System;


public class Test
{
    public static void Main()
    {
        String outpt=MakeCurrency("-123456");
        Console.WriteLine(outpt);
            String outpt2=MakeCurrency("123456");
        Console.WriteLine(outpt2);
    }
    public static string MakeCurrency(string variant)
{
    String _denom = "R 0.00";

        if (variant != "")
        {
            decimal _decimal = Math.Round((Convert.ToDecimal(variant)), 2, MidpointRounding.AwayFromZero);
            if (_decimal >= 0)
                _denom = "R " + string.Format("{0:#,###0.00}", _decimal);
            else
                _denom = "-$ " + string.Format("{0:#,###0.00}", Math.Abs(_decimal));

        }


    return _denom;
}
}