我使用的文本框值如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);
答案 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.
}