【问题标题】:VB.Net VB6.Format() Issues after convertingVB.Net VB6.Format() 转换后的问题
【发布时间】:2013-07-16 12:47:24
【问题描述】:

运行工具将 VB6.Format() 转换为 VS 2008 代码后出现一些问题。我们有这样的声明:

VB6.Format(InVariable, szFormatMask))

转换成这个:

InVariable.ToString(szFormatMask)

现在的问题是,当我们调用我们的函数时,它会遇到无法将 String = "" 转换为 Integer 值的问题。 InVariable 是一个对象,而 szFormatMask 是我们函数中的一个字符串。你有什么建议不要再导致这个问题吗?

【问题讨论】:

  • InVariable 的确切类型是什么? (所以即使它被转换为System.Object,它到底是什么?)
  • 在这种情况下,它是一个被发送到函数的 double。
  • 根本没有帮助我..

标签: vb.net vb6-migration


【解决方案1】:

为空字符串添加检查并相应更改:

If szFormatMask = "" Then szFormatMask = "G"
Return InVariable.ToString( szFormatMask )

'G' 格式字符串值的特殊之处在于它指定输出为“常规”数字格式。

(关于代码风格的简短说明:请避免使用匈牙利符号,例如 Insz 前缀,并使用小写 camelCase 命名局部变量和参数,因为大写 CamelCase 保留给类型成员比如方法和属性。

【讨论】:

  • 现在,我正在从类型“G”转换为类型整数异常无效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-11
  • 2021-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多