如何将浮点值从 11111111 格式化为 1,111,111.00?

How to Format float value from 11111111 to 1,111,111.00?

网上找遍了,经验不多,没找到合适的解决办法。

如上所述,在我的数据库中,我将有“大”值,其中最多有 9-10 位数字,我被要求格式化它们,例如,而不是 23456789 -> 23,456,789.00,并且在 DataGrid 中像这样显示它们。

这就是我填充 DataGrid 的方式

probaDataContext proba = new probaDataContext();
        public MainWindow()
            {
                InitializeComponent();
    
                dgData.ItemsSource = proba.ProbaTabelas.ToList();
    }

这是我的 XAML 代码

我找到了一种将它们格式化为 23,456,789 的方法,但我仍然需要后面的两位数和点。

<DataGrid Name="dgData" Margin="89,0,118,165" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Numbernumber" Binding="{Binding cifra, StringFormat=\{0:N0\}}"></DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid

如果值是整数,它们应该是 .00 ,如果值有像 23432.54 这样的小数,它们应该看起来像 23,432.54。

String.Format("{0:n}", 1234);  // Output: 1,234.00

String.Format("{0:n0}", 9876); // No digits after the decimal point. Output: 9,876

所以我想改变这个

StringFormat=\{0:N0\}

至此

StringFormat=\{0:N\}

适合你。

注意:有些文化使用 , 表示小数而不是 .,所以要小心。