我需要写一个实用程序功能(在我的C++ CLI应用程序),一个字符串转换为双人间或浮动或诠释。这个铸件是否安全?
template<typename T>
static T MyConvert(String^ str) {
return static_cast<T>(System::Convert::ToDouble(str));
}
这是安全吗?
可它在某种程度上转化为2〜1.999,然后为1,如果我叫MyConvert<int>("2")
?
我想知道为什么Convert类不是在第一个模板? (这将让我叫Convert<T>
而不是Convert.ToDouble()
所有类型)
这是C++/CLI,所以我可以使用任何转换在C方法++或.NET,但我只知道Convert.ToDouble()|ToString()|ToInt32())
转换类不使用泛型。每种类型都有特殊的逻辑,所以使用泛型不会使它更灵活。 – 2010-06-03 14:16:13
有很多原因,这是不安全的。对于初学者来说,如果你的输入参数不是一个数字,那么甚至没有检查完成。 – 2010-06-03 14:16:29
这不是确切的代码,我只发布了我认为与数值分析相关的东西。字符串不是直接发送这个这个。 – Itsik 2010-06-03 19:06:47