WPF/ XAML /C# Datagrid:如何将 double 截断到一定数量的小数位?

WPF/ XAML /C# Datagrid: how to truncate double to certain number of decimal places?

我的DataGrid 接收到double 变量,我想将它们截断到小数点后两位或三位。 我的 xaml 代码:

        <DataGrid Name="McDataGrid" ItemsSource="{Binding}" Visibility="Collapsed" HorizontalAlignment="Center" 
                  Margin="0, 200, 0, 0" VerticalAlignment="Top" CanUserAddRows="False" />

我所有涉及数据网格的 C# 代码:

        McDataGrid.DataContext = fillingDataGridUsingDataTable(string input).DefaultView;
        McDataGrid.Visibility = Visibility.Visible;

fillingDataGridUsingDataTable(input) 是一个函数,它 returns 一个带有 headers 字符串和双精度值的 DataTable。

您可以将 ToString 与格式说明符 F with a precision specifier (Standard format specifiers 一起使用。 DataGrid 无论如何都会将双精度值转换为 string,因此 ToString 会这样做。使用接受 IFormatProvider 的重载,使结果使用当前系统语言的正确小数点分隔符。

以下示例从 double 值创建数字 string,精度为小数点后 3 位:

double value = 1.23456;
var numericString = value.ToString("F3", CultureInfo.CurrentCulture); // "1.235"

要转换 double 值,请使用 Math.Round 助手:

double value = 1.23456;
double roundValue = Math.Round(value, 3); // 1.235