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
我的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