更改小数格式

joa*_*sta 0 c#

我有这个代码:

using (StreamWriter writer = new StreamWriter("C:\\Users\\HP8200\\Desktop\\teste.txt"))
{            
    string numcont = _transaction.PartyFederalTaxID;
    double numenc = _transaction.BillToPartyID;
    double numfatura = _transaction.TransDocNumber;
    DateTime data = _transaction.CreateDate;
    double valor = _transaction.TotalAmount;
    short zona = transaction.Zone.ZoneID;
    //ean mal
    string ean = transaction.ATDocCodeId;
    double iva = 23;
    //preçoantesdisc mal
    double precoantesdisc = _transaction.TotalPaymentDiscountAmount;
    double preconet = transaction.Details.TotalAdvancementNetAmount;
    double quantidade = transaction.Details.Count;
    double bonus = _transaction.TotalPaymentDiscountAmount;            

    writer.WriteLine($"{numcont};{numenc};{numfatura};{data.ToString("dd/MM/yyyy")};{valor};{zona}{Environment.NewLine}{ean}{iva};{precoantesdisc};{preconet};{quantidade};{bonus}");
}
MessageBox.Show("saved");
Run Code Online (Sandbox Code Playgroud)

变量valor将十进制数与","分开,我需要用"."来表示.有什么办法可以吗?

Tim*_*ter 5

变量valor是类型double,它不使用小数分隔符,只有格式化的字符串.插值字符串会对其进行转换,默认情况下它会使用您当前的文化.您可以使用:

string valorStr = valor.ToString(CultureInfo.InvariantCulture);
string line = $"{numcont};{numenc};{numfatura};{data.ToString("dd/MM/yyyy")};{valorStr};{zona}{Environment.NewLine}{ean}{iva};{precoantesdisc};{preconet};{quantidade};{bonus}";
writer.WriteLine(line);
Run Code Online (Sandbox Code Playgroud)