我的输入字符串input
的值为0.003 m
。
我需要做一些事情;
.
),
)
这就是我的想法:
try
{
if (input == "")
{
throw new Exception("Cannot have an empty String")
}
if(input.Contains('.'))
{
input.Replace('.', ',');
}
char[] CharactersToStrip = { ' ', 'm', 'k', 'g' };
string output = input.TrimEnd(CharactersToStrip);
return output;
}
catch (Exception Exception)
{
throw new Exception(Exception.Message);
}
答案 0 :(得分:3)
字符串是不可变的,你必须重新分配它:{{1}}
关于例外的主题,有几条评论要提供:
input = input.Replace('.', ',');
,而是抛出更具描述性的子类Exception
会导致很多混淆并违反命名约定。答案 1 :(得分:3)
您需要将替换分配回输入:
if (input.Contains('.'))
{
input = input.Replace('.', ',');
}
此外,您的try-catch
完全是多余的。您所做的只是破坏堆栈信息,因此请将其完全删除。
答案 2 :(得分:1)
即。 input = input.replace('.', ',');
非常感谢。