C#从字符串解析数字
我需要像这样转动绳子 000000000 2000 进入 20.00 输入字符串的最后两位在小数点之后。目前我正在使用:C#从字符串解析数字,c#,function,parsing,numbers,C#,Function,Parsing,Numbers,我需要像这样转动绳子 000000000 2000 进入 20.00 输入字符串的最后两位在小数点之后。目前我正在使用: string szCena = File.ReadAllText(file.FullName).Replace(" ", "").Replace("-", ""); string szVrednost = ""; bool bFound = false; foreach (char brojka in szCena) { if (bFound) { szVr
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, ".");
您可以使用本机框架方法,尝试将输入字符串转换为数值,执行一些简单的数学除法,然后使用
请注意,我在示例输入中添加了最后一个1,以显示十进制处理将
000000000 2000
转换为20.00
,而不是2.000
?Int32.t然后除以100@Eser最后2个应该是小数。它将用于在会计报表上打印价格paper@Filkolev-我很感激你的关心。由于我们希望OP在这里复制并粘贴代码,而不进行编辑,而不是键入代码,因此将标识符转换为英语将涉及重构其源代码或大量编辑发布的代码,这两者都会产生反效果。@BobKaufman,我的建议是首先用英语编写代码。作为一名非英语国家编程专业的前学生,我被告知使用这样的变量名是不好的做法。后来我开始教同样的东西。虽然理解程序中的所有内容在这里并不总是必要的,但是有一个上下文通常是有帮助的。我只是不能让一段糟糕的代码溜走,而不说明如何改进它,我想这是我的天性:)非常感谢!这就是我真正需要的:P
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");