如何在asp.net中使用圆形数学函数?

时间:2011-07-28 10:18:26

标签: c# asp.net

我使用的文本框值如1455.23,使用圆形函数我的输出为0000145523但是客户没有输入像1234这样的浮动值,我的输出是0000123400请给我的建议 我的代码是format.cs

public bool formatAmount(float flAmount, out string strOutput)
{
  bool bval = false;
  float rounded = (float)Math.Round(flAmount, 2);
  if(rounded!=null)
  {
    flAmount = flAmount * 100;
    strOutput = Convert.ToString(flAmount);
    bVal = true;
  }

  return bVal;
}

在我的asp页面代码中

string ods;
float a = Convert.Todecimal(txtSSA.Text);
string sss = oclsUtility.formatAmount(a, out ods);

2 个答案:

答案 0 :(得分:1)

我假设你想忽略100分的乘法,以防小数值不存在。

所以1234在您的情况下基本上是1234.00,您需要避免00001234 00

float flAmount = 15F;
float rounded = (float)Math.Round(flAmount, 2);
double fractionalval = (rounded - Math.Floor(rounded)) * 100;
if(fractionalval > 0)
   flAmount = flAmount * 100;

在此之后我假设休息可能会起作用并将其填充到10长度的字符串。

如果有小数部分,这将跳过乘法,希望这是您需要的其他内容,请编辑以获取更多信息。

答案 1 :(得分:0)

如果我理解你,如果用户输入是浮动的,你需要保持领先0,如果没有删除它们。你可以试试这个:

int number;
bool result = Int32.TryParse(rounded, out number);
if (result)
{
    // Your number will contain the number with no leading 0
}
else
{
    // Then you have a float.
}