C# 如何在SQL中存储税(VAT)值

C# 如何在SQL中存储税(VAT)值,c#,sql,winforms,C#,Sql,Winforms,有人能告诉我如何在SQL和计算过程中存储VAT值吗?目前,我正在像十进制(4,2)一样存储到SQL中。在通话过程中一切正常。我将数据从SQL检索到datagridview中,在那里显示的数据就像我将其存储到数据库中一样 但增值税价值是以这种格式存储的,1.18用于18.00%用于计算目的。但是我想在datagridview的VAT列中显示一种VAT字段的掩码(要显示的数据18.00不是1.18) 下面是声明的数据列 dc.DataType = System.Type.GetType("S

有人能告诉我如何在SQL和计算过程中存储VAT值吗?目前,我正在像
十进制(4,2)
一样存储到SQL中。在通话过程中一切正常。我将数据从SQL检索到datagridview中,在那里显示的数据就像我将其存储到数据库中一样

但增值税价值是以这种格式存储的,
1.18
用于
18.00%
用于计算目的。但是我想在datagridview的VAT列中显示一种VAT字段的掩码(要显示的数据
18.00
不是
1.18

下面是声明的数据列

    dc.DataType = System.Type.GetType("System.Int32");
    dc.ColumnName = "Barcode";
    dc.ReadOnly = true;
    DataColumn dc2 = new DataColumn();
    dc2.DataType = System.Type.GetType("System.String");
    dc2.ColumnName = "NAME";
    dc2.ReadOnly = true;

    DataColumn dc4 = new DataColumn();
    dc4.DataType = System.Type.GetType("System.Decimal");
    dc4.ColumnName = "PRICE";
    dc4.ReadOnly = false;

    DataColumn dc3 = new DataColumn();
    dc3.DataType = System.Type.GetType("System.Decimal");
    dc3.ColumnName = "QTY";
    DataColumn dc5 = new DataColumn();
    dc5.DataType = System.Type.GetType("System.Decimal");
    dc5.ColumnName = "TVSH";
    dc5.ReadOnly = false;

    DataColumn dc6 = new DataColumn();
    dc6.DataType = System.Type.GetType("System.Decimal");
    dc6.ColumnName = "Total";
    dc6.Expression = "Price* QTY";//Multiplying the Price and Quantity DataColumns
    dc6.ReadOnly = true;

    DataColumn dc7 = new DataColumn();
    dc7.DataType = System.Type.GetType("System.Decimal");
    dc7.ColumnName = "WithoutVAT";
    dc7.Expression = "Total/ VAT";//Multiplying the Price and Quantity DataColumns
    dc7.ReadOnly = true ;

    DataColumn dc9 = new DataColumn();
    dc9.DataType = System.Type.GetType("System.Decimal");
    dc9.ColumnName = "VATvalue";
    dc9.Expression = "Total- WithoutVAT";//Multiplying the Price and Quantity DataColumns
    dc9.ReadOnly = true ;

我应该做些什么来实现这一点?

您最好按照概念上的方式存储这些值。我建议将增值税作为0.18以十进制形式存储在数据库中,并更改计算逻辑:

value = x * (1+ vat)

然后,您可以使用百分比格式化程序在演示文稿中很好地显示增值税:


vat.ToString("P")


您还可以为数据库中的vat字段添加一个约束,以确保它不会超过1.00

您最好按照概念上的方式存储这些值。我建议将增值税作为0.18以十进制形式存储在数据库中,并更改计算逻辑:

value = x * (1+ vat)

然后,您可以使用百分比格式化程序在演示文稿中很好地显示增值税:


vat.ToString("P")

您还可以为数据库中的vat字段添加一个约束,以确保它永远不会超过1.00