在vb.net中格式化CSV文件的值

时间:2009-11-10 15:46:28

标签: vb.net

我正在从我的vb.net应用程序创建一个csv文件,如下所示

Dim csvFile As String = My.Application.Info.DirectoryPath & "\Test.csv"
        Dim outFile As IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(csvFile, False)

        outFile.WriteLine("Column 1, Column 2, Column 3")
        outFile.WriteLine("1.23, 4.56, 123456545666644565554")
        outFile.WriteLine("3.21, 6.54, 9.87")

但是,对于123456545666644565554,csv文件中的值显示为1.25778E + 12

如何在vb.net中对其进行格式化。请帮忙

4 个答案:

答案 0 :(得分:3)

在记事本而不是Excel中打开您的CSV文件,我确定您的号码会正确显示。问题不在于你的CSV(无论如何,CSV只是文本,它不做任何格式化),只是当你在Excel中打开它时,它会以科学格式显示它,因为数字太长了。如果更改Excel列格式选项以显示为文本格式而不是数字格式,则您的数字将正确显示。

答案 1 :(得分:1)

您确定原始文本输出中的值123456545666644565554是否输出为1.25778E+12?您是在Microsoft Excel或导入此数据的其他应用程序中看到这个吗?由于值123456545666644565554包含在字符串"1.23, 4.56, 123456545666644565554"中,因此我发现它非常怀疑在原始CSV文件中应用了任何格式。

答案 2 :(得分:0)

    outFile.WriteLine("Column 1, Column 2, Column 3")
    outFile.WriteLine("1.23, 4.56, '123456545666644565554")
    outFile.WriteLine("3.21, 6.54, 9.87")

答案 3 :(得分:0)

将值存储在正确类型的变量中,然后将其转换并将其写入文件。

Dim d As Double = 1.234
Dim number As String = CStr(d)