将变量解析为 Return C# 的问题 - 脚本任务转换
Problem with parsing Variable to Return C# -Script Task Transformation
嘿,我的 Return 值有点问题,它会从一开始就映射到空字符串。由于我是 c# 的新手,所以回答起来可能很容易。
查询:
Private static Decimal parseVatWithoutBla(string originalString) // 4,5 已插入
{
var cleanedString = string.Empty;
//var cleanedString = originalString;
if (originalString.IndexOf(",") > 0)
{
if (originalString.IndexOf(".") > originalString.IndexOf(","))
{
cleanedString = originalString.Replace(",", "").Replace(".", ",");
}
}
else if (originalString.IndexOf(".") > 0)
{
if (originalString.IndexOf(",") > originalString.IndexOf("."))
{
cleanedString = originalString.Replace(".", "");
}
}
else if (originalString.IndexOf(",") == -1 && originalString.IndexOf(".") > 0)
{
cleanedString = originalString.Replace(".", ",");
}
else
{
cleanedString = originalString; //cleanedString =4,5
}
return Convert.ToDecimal(cleanedString); // returns the Empty string not the 4,5 why?!
添加了描述问题的评论。
太
if (originalString.IndexOf(",") > 0 && originalString.IndexOf(".") > originalString.IndexOf(","))
{
cleanedString = originalString.Replace(",", "").Replace(".", ",");
}
else if (originalString.IndexOf(".") > 0 && originalString.IndexOf(",") > originalString.IndexOf("."))
{
cleanedString = originalString.Replace(".", "");
}
else if (originalString.IndexOf(",") == -1 && originalString.IndexOf(".") > 0)
{
cleanedString = originalString.Replace(".", ",");
}
else
{
cleanedString = originalString; //cleanedString =4,5
}
return Convert.ToDecimal(cleanedString);
因为你的“其他”永远不会 运行。试试这个 if-else 组合
嘿,我的 Return 值有点问题,它会从一开始就映射到空字符串。由于我是 c# 的新手,所以回答起来可能很容易。
查询:
Private static Decimal parseVatWithoutBla(string originalString) // 4,5 已插入 {
var cleanedString = string.Empty;
//var cleanedString = originalString;
if (originalString.IndexOf(",") > 0)
{
if (originalString.IndexOf(".") > originalString.IndexOf(","))
{
cleanedString = originalString.Replace(",", "").Replace(".", ",");
}
}
else if (originalString.IndexOf(".") > 0)
{
if (originalString.IndexOf(",") > originalString.IndexOf("."))
{
cleanedString = originalString.Replace(".", "");
}
}
else if (originalString.IndexOf(",") == -1 && originalString.IndexOf(".") > 0)
{
cleanedString = originalString.Replace(".", ",");
}
else
{
cleanedString = originalString; //cleanedString =4,5
}
return Convert.ToDecimal(cleanedString); // returns the Empty string not the 4,5 why?!
添加了描述问题的评论。
太
if (originalString.IndexOf(",") > 0 && originalString.IndexOf(".") > originalString.IndexOf(","))
{
cleanedString = originalString.Replace(",", "").Replace(".", ",");
}
else if (originalString.IndexOf(".") > 0 && originalString.IndexOf(",") > originalString.IndexOf("."))
{
cleanedString = originalString.Replace(".", "");
}
else if (originalString.IndexOf(",") == -1 && originalString.IndexOf(".") > 0)
{
cleanedString = originalString.Replace(".", ",");
}
else
{
cleanedString = originalString; //cleanedString =4,5
}
return Convert.ToDecimal(cleanedString);
因为你的“其他”永远不会 运行。试试这个 if-else 组合