【问题标题】:Convert string to double with default value使用默认值将字符串转换为双精度
【发布时间】:2014-01-29 08:29:32
【问题描述】:

如何使用本机方法将字符串转换为具有默认值的双精度值?

这样的?

dim value as double
dim text

value = Double.TryParse(text, 0)

【问题讨论】:

    标签: .net vb.net parsing type-conversion default


    【解决方案1】:
    Dim text As String = "123.45"
    Dim value As Double
    If Double.TryParse(text, value) Then
        ' text is convertible to Double, and value contains the Double value now
    Else
        ' Cannot convert text to Double set the default value here 
    End If
    

    【讨论】:

      【解决方案2】:

      这应该在一行中完成:

      Dim value as Double
      Dim text="23.675"
      
      If Not Double.TryParse(text, value) Then value = 4
      'At this point value contains either the parsed value of text 
      'or 4 if text couldn't be parsed into a double
      

      文档:http://msdn.microsoft.com/en-us/library/994c0zb1(v=vs.110).aspx

      您当然可以使用默认值创建一个方法来执行此操作:

      Public Function TryParseDoubleDefault(text as String, defaultValue as Double) As Double
          Dim parsedValue As Double
          If Not Double.TryParse(text, parsedValue) Then parsedValue = defaultValue
          Return parsedValue
      End Function
      

      您甚至可以将其作为 Double 的扩展方法:

      <Extension()>
      Public Function TryParseDefault(aDouble As Double, text as String, defaultValue as Double) As Double
          Dim parsedValue As Double
          If Not Double.TryParse(text, parsedValue) Then parsedValue = defaultValue
          Return parsedValue
      End Function
      

      这样您就可以按照最初的意愿执行此操作:

      value = Double.TryParseDefault(text, 4)
      

      【讨论】:

      • 如果你非常需要它,写扩展。
      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多