来自datagridview的VB.net .tostring(“0.000”)

时间:2014-07-14 19:01:45

标签: vb.net datagridview

我真的被困在这上面了。我之前使用过数字字符串格式,但没有使用datagridview。每次我尝试从datagridview格式化数字到“0.000”字符串时它什么都不做,只返回未格式化的单元格中的数字。任何人都可以帮忙纠正这个吗?

For Each manualprocess In ManualAddOperationsdgv.Rows
        If manualprocess.cells(2).value.ToString = "DRILL" Then
            If lasttool <> manualprocess.cells(4).value.ToString Or lastoffset <> manualprocessoffset Or lastdepth <> manualprocess.cells(10).value Then
                If Not lasttool = 0 Then
                    builder.AppendLine("M9M5M1")
                End If
                builder.AppendLine("")
                builder.AppendLine("N" & blocknumber & "(" & manualprocess.cells(1).value.ToString & " - DRILL OPERATION)")
                blocknumber += 1
                builder.AppendLine("G65P7000T" & manualprocess.cells(4).value.ToString & "M6B#.S" & manualprocess.cells(12).value.ToString & "CC#." & manualprocessoffset & "(D#)")
                builder.AppendLine("G66P7015E" & manualprocess.cells(3).value.ToString & "R.1Q" & manualprocess.cells(14).value.ToString & "Z-" & manualprocess.cells(10).value.ToString("0.0000") & "S" & manualprocess.cells(12).value.ToString & "F" & manualprocess.cells(13).value.ToString("0.0000") & manualprocessoffset) 
            End If
            builder.AppendLine("X" & manualprocess.cells(8).value.ToString("0.000") & "Y" & manualprocess.cells(9).value.ToString("0.000"))
        End If 
Next

1 个答案:

答案 0 :(得分:0)

ToString函数不知道单元格中的对象类型,因此请尝试将值转换为小数或双倍:

Dim decValue As Decimal
If Decimal.TryParse(manualprocess.Cells(8).Value.ToString, decValue) Then
  builder.AppendLine("X" & decValue.ToString("0.000") ...
End If