0

目前我有以下场景:

我有一个用于数字输入的自定义控件。其中有一个名为:DecimalType 的属性。这可能是长小数或短小数。

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

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

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

或者

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

那么,在我的情况下,我如何有效地处理这个问题?因为,在一个表单中可能有 2 个短十进制文本框和 4 个长十进制文本框。通过将NumberDecimalDigits更改为 2 将不适用于长小数,反之亦然。

简而言之:文本应根据具有 2 个自定义十进制长度的当前文化进行格式化。

我可以遵循任何建议来处理这些事情吗?

4

1 回答 1

0

这里有两个选项。(1) 使用带有小数位数的显式自定义数字格式模式——例如 #,0.00 和 #,0.0000——或者 (2) 根本不依赖 CurrentCulture。所有格式化函数都允许您显式提供一个 CultureInfo 对象,以便您可以为每个对象提供一个。

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

于 2014-03-26T16:44:36.760 回答