目前,我有以下情景:
我是数字输入的自定义控件。其中包含名为:DecimalType的属性。可能是长或短十进制。
而且,问题是:我想将Given输入格式化为Common。使用当前文化格式将当前输入格式化为2个十进制数字(短)或4个十进制数字(长)。
我只能在当前文化中设置一种格式。
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalDigits = 2;
或
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalDigits = 4;
所以,在我的情况下,我如何有效地处理 ?因为,在单个表单中可能有2个短十进制文本框和4个长十进制文本框。将 NumberDecimalDigits 更改为2将不适用于长十进制,反之亦然。
简而言之:应根据当前文化格式化文本,并使用2个自定义小数长度。
我可以遵循哪些建议来处理这些事情?
答案 0 :(得分:0)
这里有两种选择。 (1)使用带有十进制数字的显式custom number format pattern - 类似#,0.00和#,0.0000 - 或(2)完全不依赖于CurrentCulture。所有格式化函数都允许您显式提供CultureInfo对象,以便每个对象都有一个。
就个人而言,我会使用选项1。