如果可能,使用文化处理2种数字格式

时间:2014-03-25 04:21:07

标签: c# cultureinfo number-formatting currency-formatting

目前,我有以下情景:

我是数字输入的自定义控件。其中包含名为:DecimalType的属性。可能是长或短十进制。

而且,问题是:我想将Given输入格式化为Common。使用当前文化格式将当前输入格式化为2个十进制数字(短)或4个十进制数字(长)。

我只能在当前文化中设置一种格式。

Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalDigits = 2;

Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalDigits = 4;

所以,在我的情况下,我如何有效地处理 ?因为,在单个表单中可能有2个短十进制文本框和4个长十进制文本框。将 NumberDecimalDigits 更改为2将不适用于长十进制,反之亦然。

简而言之:应根据当前文化格式化文本,并使用2个自定义小数长度。

我可以遵循哪些建议来处理这些事情?

1 个答案:

答案 0 :(得分:0)

这里有两种选择。 (1)使用带有十进制数字的显式custom number format pattern - 类似#,0.00和#,0.0000 - 或(2)完全不依赖于CurrentCulture。所有格式化函数都允许您显式提供CultureInfo对象,以便每个对象都有一个。

就个人而言,我会使用选项1。