在文本文件

时间:2017-08-30 10:51:25

标签: c#

我正在编写一个文本文件,其中包含一些记录在SQL数据库中的数据。

我正在写一些数据,其中一个是数据,它用这种形状写成:dd/mm/yyyy hh:mm:ss

我怎样才能写出dd/mm/yyyy

以下是我用来在文本文件中写入数据的代码:

if (sqlReader["TaxableGroupID"].Equals(1))
{ 
    tw.WriteLine(sqlReader["PartyFederalTaxID"] + ";" + sqlReader["TransSerial"] + sqlReader["TransDocNumber"] + ";" + sqlReader["CreateDate"] + ";" + sqlReader["TotalAmount"] + "\r\n" + sqlReader["BarCode"] + ";" + "23" + ";" + sqlReader["Quantity"]);
}

我对TotalAmount有同样的问题。我想用.来编写它来分隔小数,然后用,写。我测试了这段代码,但没有用。小数分隔符仍为,

if (sqlReader["TaxableGroupID"].Equals(1)) 
{
    tw.WriteLine(sqlReader["PartyFederalTaxID"] + ";" + sqlReader["TransSerial"] + sqlReader["TransDocNumber"] + ";" + sqlReader["CreateDate"] + ";" + sqlReader["TotalAmount".ToString(CultureInfo.InvariantCulture)] + "\r\n" + sqlReader["BarCode"] + ";" + "23" + ";" + sqlReader["Quantity"]); 
}

我试过这个来修复日期问题但是因为.问题,我没有收到任何错误,但是日期是一样的。

if (sqlReader["TaxableGroupID"].Equals(1))
{
    tw.WriteLine(sqlReader["PartyFederalTaxID"] + ";" + sqlReader["TransSerial"] + sqlReader["TransDocNumber"] + ";" + sqlReader["CreateDate".toString("dd/MM/yyyy")] + ";" + sqlReader["TotalAmount".ToString] + "\r\n" + sqlReader["BarCode"] + ";" + "23" + ";" + sqlReader["Quantity"]);
}

3 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

if (sqlReader["TaxableGroupID"].Equals(1))
 { 
    DateTime CreateDate = DateTime.ParseExact(sqlReader["CreateDate"],  "dd/MM/yyyy", CultureInfo.InvariantCulture);
    tw.WriteLine(sqlReader["PartyFederalTaxID"] + ";" + sqlReader["TransSerial"] + sqlReader["TransDocNumber"] + ";" + CreateDate.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); + ";" + sqlReader["TotalAmount"] + "\r\n" + sqlReader["BarCode"] + ";" + "23" + ";" + sqlReader["Quantity"]);
 }

注意: sqlReader["CreateDate"] 应为字符串

答案 1 :(得分:1)

尝试执行此操作Convert.ToDecimal(sqlReader["TotalAmount"]).ToString(CultureInfo.InvariantCulture)

答案 2 :(得分:0)

string s = "12,67";
decimal d = decimal.Parse(s, CultureInfo.GetCultureInfo("tr-TR"));
Console.WriteLine(d);

enter image description here