这种方法遇到了麻烦。奇怪的是,如果我使用此方法传递任何负值,它会在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;
}
答案 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;
}
}