DataGridView 中实现财务软件录入凭证金额分亿百千格式显示
时间: 2023-12-03 07:42:09 浏览: 34
您可以使用 DataGridView 的 CellFormatting 事件来实现金额分亿百千格式的显示。
以下是一个示例代码:
```c#
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 1 || e.ColumnIndex == 2) // 第2列和第3列为金额列
{
if (e.Value != null && decimal.TryParse(e.Value.ToString(), out decimal amount))
{
// 使用 String.Format 格式化金额字符串
e.Value = string.Format("{0:#,##0.00}", amount);
// 根据金额大小添加“亿”、“万”、“千”等单位
if (amount >= 100000000)
{
e.Value += "亿";
}
else if (amount >= 10000)
{
e.Value += "万";
}
else if (amount >= 1000)
{
e.Value += "千";
}
}
}
}
```
在上述代码中,我们首先判断当前单元格是否为金额列(第2列和第3列),如果是,则将单元格的值转换为 decimal 类型的金额。然后使用 String.Format 方法将金额转换为格式化的字符串,并根据金额大小添加“亿”、“万”、“千”等单位。最后将格式化后的字符串赋值给单元格的 Value 属性即可。
注意:如果您需要在录入凭证时对金额进行计算,建议不要将金额格式化为带单位的字符串,而是保留数字形式进行计算。只有在显示到界面上时才进行格式化处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)