|
分類:[VB.NET/VB2005 以降]
Microsoft Visual Basic 2010 ExpressでCSVを読み込んで、その値の和や差をcsvファイル形式に出力しています。 writer.Write(field(1) + field(5))の部分で、field(1)が200 field(5)が1000 の場合に、出力される値が 2001000となってしまいます。 プラスがアンドの役目になるためだと思います。 これを回避するため、 field(1)*1 + field(5)*1 などと記述しています。 ただ、これは正しいのでしょうか?我流ですが、ほかにスマートな方法はないのでしょうか?
PsDataIn = System.IO.File.ReadAllLines( "C:\nikkei.csv", enc) PiDataCnt = PsDataIn.Length '最終行を取得
For x = midasi - 1 To PiDataCnt - 1 line = PsDataIn(x) '1行読み込む field = line.Split(",") 'カンマで分割 If MYtype = field(0) Then MYpath1 = "D:\uriage.csv" 'ダイコクZA形式 作成ファイルパス writer = My.Computer.FileSystem.OpenTextFileWriter(MYpath1, False, System.Text.Encoding.Default) writer.Write("現金残,売上") writer.Write(field(7) - field(2))'現金残 writer.Write(field(1) + field(5))'売上 writer.WriteLine(",") writer.Close()
End If Next x
|