我正在从我的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中对其进行格式化。请帮忙
答案 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)