我想使用由 System.Globalisation.CultureInfo.CurrentCulture.NumberFormat 定义的当前文化设置显示货币金额(在 DataGridView 的单元格中),除了,我不希望出现零值 - 即我希望它们显示留空
所以,我想知道是否可以结合以下两种方法来显示值:
string.format("{0:c}", 1) // will show $1.00 on a machine with typical English (US) settings
但是;
string.format("{0:c}", 0) // will show $0.00 on a machine with typical English (US) settings
我知道我可以使用我想要的东西;
string.format("{0:"$##,##0.00";($##,##0.00);''}", 0)
但是据我了解,这对文化环境不敏感。
两者都有可能实现,如果可以,怎么做?
我正在寻找可以实现的解决方案,最好的情况是设置 DataGridViewCell 的格式属性,从而允许 DataGridView 为我处理所有格式设置。也许我需要对该单元格类型进行子类化并覆盖某些内容...?
最佳答案
您可以创建自定义格式提供程序,然后将其用于格式属性。 这应该有帮助 http://msdn.microsoft.com/en-us/library/system.iformatprovider.aspx#Y990
关于c# - 是否可以使用当前文化设置格式化数字但将 0 显示为空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367285/