Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Vb.net 2位小数双精度_C#_Vb.net_Datagridview_Format_Double - Fatal编程技术网

C# Vb.net 2位小数双精度

C# Vb.net 2位小数双精度,c#,vb.net,datagridview,format,double,C#,Vb.net,Datagridview,Format,Double,我想把所有的双精度数字放在逗号后2位小数。 此时,当值为0.30时,我的Datagridview显示为0.3..你知道吗 这是我的代码: eenheidsprijs = Math.Round(eenheidsprijs, 2) basisbedrag = Math.Round(basisbedrag, 2) kortingbedrag = Math.Round(kortingbedrag, 2) netto = Math.Round(netto, 2) b

我想把所有的双精度数字放在逗号后2位小数。 此时,当值为0.30时,我的Datagridview显示为0.3..你知道吗

这是我的代码:

    eenheidsprijs = Math.Round(eenheidsprijs, 2)
    basisbedrag = Math.Round(basisbedrag, 2)
    kortingbedrag = Math.Round(kortingbedrag, 2)
    netto = Math.Round(netto, 2)
    btwbedrag = Math.Round(btwbedrag, 2)
    totaal = Math.Round(totaal, 2)

    Dim streenheidsprijs, strbasisbedrag, strkortingbedrag, strnetto, strbtwbedrag, strtotaal As String

    streenheidsprijs = Format(eenheidsprijs, "0.00")
    strbasisbedrag = Format(basisbedrag, "0.00")
    strkortingbedrag = Format(kortingbedrag, "0.00")
    strnetto = Format(netto, "0.00")
    strbtwbedrag = btwbedrag.ToString("N", CultureInfo.InvariantCulture)
    strtotaal = Format(totaal, "0.00")


    eenheidsprijs = Double.Parse(streenheidsprijs)
    basisbedrag = Double.Parse(strbasisbedrag)
    kortingbedrag = Double.Parse(strkortingbedrag)
    netto = Double.Parse(strnetto)
    btwbedrag = Double.Parse(strbtwbedrag)
    totaal = Double.Parse(strtotaal)

哪个值绑定到数据网格?streenheidsprijs还是eenheidsprijs?字符串值的格式设置为小数点后2位,但double变量不继承要显示的小数位数。实际上,行中没有值可以重新解析已格式化的字符串值:

eenheidsprijs = Double.Parse(streenheidsprijs)
数据网格列应该绑定到已格式化为2 dp的字符串值,或者您应该在数据网格中配置列的显示属性,以便它们只显示两位小数。

您可以提供到的。在您的情况下,最好使用
F2
格式

在运行时:

myDataGridView.Columns(“myColumnName”).DefaultCellStyle.Format=“F2” 在设计时:

样本表格

公共类表单1
公共分新()
Thread.CurrentThread.CurrentCulture=CultureInfo.GetCultureInfo(“en-US”)
Thread.CurrentThread.CurrentUICulture=CultureInfo.GetCultureInfo(“en-US”)
Me.InitializeComponent()的缩写
Me.ClientSize=新尺寸(350400)
Me.column1=新的DataGridViewTextBoxColumn,带有{.Name=“column1”,.HeaderText=“Double(F2)”,.ValueType=GetType(Double),.Width=100}
Me.column1.DefaultCellStyle.Format=“F2”
Me.column2=新的DataGridViewTextBoxColumn,带有{.Name=“column2”,.HeaderText=“Double(F8)”,.ValueType=GetType(Double),.AutoSizeMode=DataGridViewAutoSizeColumnMode.Fill,.MinimumWidth=100}
Me.column2.DefaultCellStyle.Format=“F8”
Me.grid=newdatagridview,带有{.Dock=DockStyle.Fill}
Me.grid.Columns.AddRange(Me.column1,Me.column2)
对于i As Double=0.0R到9.0R:Me.grid.Rows.Add(i,i):下一步
Me.Controls.Add(Me.grid)
端接头
私有WithEvents网格作为DataGridView
Private,事件列1为DataGridViewTextBoxColumn
Private with Events column2作为DataGridViewTextBoxColumn
末级

我可以知道您的预期输出是什么吗?无需转换numeric=>string=>numeric
string。Format
可用于以指定格式显示数字。DGV也有内置格式。
不工作
告诉我什么。更新您的问题,使其包含所有相关代码。对不起,我很忙。我尝试了此解决方案,但没有成功。它仍然是0.3而不是0.30:s…我找到了另一个解决方案,但也没有成功(Me.DataGridView1.Columns.Item(2).DefaultCellStyle.Format=“n2”Me.DataGridView1.Columns.Item(2).ValueType=GetType(Double))@user3388946我添加了一个示例表单。除非你编辑你的问题(参考我之前的评论),否则这是最好的。