【发布时间】:2014-02-22 08:07:55
【问题描述】:
早上好。我不想打扰你们,但我遇到了一个让我很困惑的问题。
我有一个 Excel 文件,其中有 2 列,我必须将 1 列除以另一列并将此结果插入 SQL 表中。
这是excel文件的快照,我在问题行下划线。
如果两列中的值都有“,”,就像其他行一样,那么一切都很好,但如果 1 有“,”而另一个没有,那么我得到错误的结果。 例如,编译器读取 147 像 147.0 {Double} 和 60,75 像 "60,75"{String}。如果一切正常,我应该得到结果 2,41,但我得到了 0,024(就像 60,75 转换为 6075)。不幸的是,我无法修改 Excel 文件。我怎样才能得到正确的结果?
除法代码如下:
Dim usedRange = xlsWorkSheet.Range("E7", "F57")
Dim usedRangeAs2DArray As Object(,) = usedRange.Value2
Dim TeamIndex(), import As String
ReDim TeamIndex(usedRange.Rows.Count)
For i As Integer = 1 To usedRange.Rows.Count
If (usedRangeAs2DArray(i, 1) = 0 And usedRangeAs2DArray(i, 2) = 0)
Or usedRangeAs2DArray(i, 2) = 0 Then
z = 1
TeamIndex(i) = z
Else
g = Convert.ToString(usedRangeAs2DArray(i, 1))
z = g / Convert.ToDouble(usedRangeAs2DArray(i, 2))
z = Math.Floor(100 * z) / 100
TeamIndex(i) = z
End If
Next
我尝试使用 Convert.ToString(),使用 Replace "."在第一列使用 "," 和 String.Format("{0:N2}", g),但这种方法被忽略了。
提前谢谢你。
【问题讨论】:
标签: vb.net excel type-conversion division