我需要转换一个像
这样的字符串0000000002000
到
20.00
输入字符串中的最后两位数字位于小数点后面。目前我正在使用:
string szCena = File.ReadAllText(file.FullName).Replace(" ", "").Replace("-", "");
string szVrednost = "";
bool bFound = false;
foreach (char brojka in szCena)
{
if (bFound)
{
szVrednost = szVrednost + brojka;
}
else
{
if (brojka != '0')
{
bFound = true;
szVrednost = szVrednost + brojka;
}
else
continue;
}
}
szVrednost = szVrednost.Insert(szVrednost.Length - 2, ".");
答案 0 :(得分:1)
您可以使用本机框架方法尝试将数字值转换为输入字符串,执行一些简单的数学除法,然后使用{{3}将数字重新转换为字符串,而不是使用字符串进行所有这些字符串连接。 }
string input = "0000000002001";
decimal value;
if (decimal.TryParse(input, out value))
{
value = value / 100;
string result = value.ToString("0.00");
Console.WriteLine(result);
}
else
Console.WriteLine("Input is not a valid number");
请注意,我在您的示例输入中添加了最后一个以显示小数处理